2017-05-30 104 views
0

我正在使用Django-haystack 2.4.1。我正在嘗試對IntegerField進行部分搜索。我有一個item_id在我的searchindex提交。例如,我想搜索23456,2345,234,23,2所有這些。這不是與查詢django haystack部分搜索IntegerField

SearchQuerySet().filter(item_id__icontains=234).models(MyModel)

工作誰能幫我這個吧。

回答

0

在您的search_indexes.py作爲您的文檔字段的字段應該是EdgeNgramField

class ModelIndex(indexes.SearchIndex, indexes.Indexable): 
    indexed_text = indexes.EdgeNgramField(document=True, use_template=True) 

顯然你應該在每次查詢之前更新索引。

+0

已經在我的search_indexes.py文件中有這樣的文本字段,像這樣:text = indexes.EdgeNgramFiled(document = True,use_template = True)'。即使查詢類似於SearchQuerySet().filter(text = 234).models(MyModel)對我不起作用 – Yashwanth

+0

過濾只是模型本身的工作嗎? –

+0

只用模型進行過濾就可以了。 'Mymodel.objects.filter(id__icontains = 234)'但沒有SearchQuerySet()' – Yashwanth