2014-01-15 2 views
2

Я делаю свой блог на Django, и я хочу добавить поиск по сайту на основе django-haystack. Я сделал базовую конфигурацию стога сена, используя официальные руководства, но когда я хочу проверить свой поиск, я получаю сообщение об ошибке: объект «Опции» не имеет атрибута «_fields»Django-haystack без атрибута '_fields'

Вот некоторые из моих конфигураций:

search_indexes.py
class PostIndex(indexes.SearchIndex, indexes.Indexable): 
    text = indexes.CharField(document=True, use_template=True) 
    title = indexes.CharField(model_attr='title') 
    pub_date = indexes.DateTimeField(model_attr='date') 

    def get_model(self): 
     return Post 

    def index_queryset(self, using=None): 
     """Used when the entire index for model is updated.""" 
     return self.get_model().objects.all() 
settings.py
HAYSTACK_CONNECTIONS = { 
'default': { 
    'ENGINE': 'haystack.backends.simple_backend.SimpleEngine', 
    }, 
} 

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' 

Так что это моя проблема. Кто-нибудь работал с чем-то похожим? Заранее спасибо!

+0

Пожалуйста, отправьте трассировку – sk1p

+0

http://dpaste.com/1553389/ здесь –

+0

У меня такая же проблема. Мой django form.py работает отлично в 1.4.1, но когда я обновился до 1.6.1. Я столкнулся с вашей проблемой, которая была вчера. Моя трассировка говорит мне, что у меня проблема с этой строкой 'для model_field в SOA_detail._meta._fields():' – Charlesliam

ответ

6

Вы попали на ошибку в простой бэкэнд, который является fixed in git. Там, кажется, не будет релиз, который содержит данное исправление, хотя, так что вы можете либо обновить его до версии развития:

pip install -e git+https://github.com/toastdriven/[email protected]#egg=django-haystack 

Или использовать другой бэкенд (elasticsearch, Solr, ...)

Смежные вопросы