我有一個模型,其中包含各種不同的字段類型,我希望Algolia搜索引擎能夠正確編制索引。到目前爲止,我已經能夠非常簡單地處理models.char_fields
- 現在我想,索引各種其他字段類型(例如,ForeignKey
「objects」,ImageFields
,DateTime
字段等等)的最佳方式是什麼。Django中的Algolia模型集成 - 處理各種字段類型的可能方式
我注意到的一件事是,Algolia將獲取並存儲一個DateTimeField
作爲Unix標準時間......所以,最初我以爲我可以使用{% humanize %}
來呈現人類可讀的模板,但是沒有運氣。
我想知道是否有人知道從模型中拖出有用信息的方法 - 我所擁有的一個想法是抓住視圖中的對象,然後爲每個返回的對象提供一個唯一標識,然後工作一些條件流動以結合模型的獨特身份,那麼我可以像普通模型一樣使用該模型......?如:
def instant_search(request):
posts = Post.published.all()
context = {
'appID': settings.ALGOLIA['APPLICATION_ID'],
'searchKey': settings.ALGOLIA['SEARCH_API_KEY'],
'indexName': get_adapter(Post).index_name,
'posts': posts,
}
return render(request, 'blog/frame/instant_search.html', context)
的模板中,我可以使用{% for posts in post %} {% if post.id = _highlightResult.id.value %} ...do some stuff {% endif %} {% endfor %}
如果這是不太足夠快(和我幾乎保證它不會)我在想,如果Algolia可以處理關鍵信息,例如將模型中定義的圖像的url拖出模板,例如,與模板中的例如post.image.url
非常類似,或者模型中的DateTime
字段models.DateTimeField(default=timezone.now)
中的人可讀值。這將是非常好的這樣做,因爲Algolia指標定義的示範田......