2013-03-17 73 views
4

我是Django和Haystack的新手。我已經完成了Haystack Documentation的「入門」頁面和調試頁面上的所有建議,但是我看不到我的錯誤在哪裏。 sqs.count()返回0,即使rebuild_index似乎工作,給表中正確數量的條目進行索引並生成索引文件到whoosh_index目錄中。帶有whoosh的Django-haystack搜索返回'沒有結果'調試失敗

search_indexes有要求的text =行,我有一個search_sites.py,我改變了settings.py和urls.py,並且在正確的目錄中有[model_name] _text.txt文件。

我們,我們必須更新的Django與草垛我們安裝草垛後工作,因爲我們意識到這是一個不兼容的版本(1.1不是1.5)大學服務器上工作 - 可以在舊的Django有草堆安裝不知何故亂?

回答

3

以下代碼將向您顯示已編制索引的內容 - 用您的設置的正確路徑替換。

from whoosh.index import open_dir 
ix = open_dir('<yourapp>/whoosh_indexes') 
from pprint import pprint 
pprint(list(ix.searcher().documents())) 

如果不有何啓示,你將不得不發佈您的代碼的更多細節 - 尤其是search_indexes.py

+3

如果這顯示你正確的東西列表,但你還沒有得到結果,你會怎麼做? – GreenAsJade 2014-12-11 07:31:22

0

這似乎是顯而易見的,但我有同樣的錯誤,並從http://django-haystack.readthedocs.org/en/latest/debugging.html我讀發現我爲返回的對象使用了錯誤的屬性名稱。

ensure that {{ result.object.title }} corresponds to your model field 
    for instance I had name as the model filed but kept wondering why I didn't get results. 
    I had to change to {{ result.object.name }} to list my results 

name是必需的屬性。希望這可以幫助某人。