Аз съм нов в Django и Haystack. Направих всичко, предложено на страницата "Първи стъпки" на документацията за Haystack и на страницата за отстраняване на грешки, но не виждам къде е грешката ми. sqs.count()
връща 0, въпреки че rebuild_index
изглежда, че работи, като дава правилния брой записи в индексираните таблици и произвежда индексни файлове в whoosh_index
директория.
search_indexes
има необходимите text =
линии, имам search_sites.py, промених настройките.py и urls.py и имам [model_name] _text.txt файлове в правилната директория.
Ние работим на университетски сървър, където ниетрябваше да актуализирате Django за работа с Haystack, след като инсталирахме Haystack, защото осъзнахме, че е несъвместима версия (1.1 не 1.5) - може ли старият Django да се е объркал с инсталацията на Haystack?
Отговори:
3 за отговор № 1Следният код ще ви покаже какво е индексирано - заменете с правилния път за вашата настройка.
from whoosh.index import open_dir
ix = open_dir("<yourapp>/whoosh_indexes")
from pprint import pprint
pprint(list(ix.searcher().documents()))
Ако това не пропусне никаква светлина, ще трябва да публикувате повече подробности за кода си, особено за search_indexes.py
0 за отговор № 2
Това може да изглежда очевидно, но имах същата грешка и четене от 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
името е необходим атрибут. Надявам се това да помогне на някой.