django haystack错误:AttributeError:对象没有属性'fields'

时间:2014-01-04 13:06:33

标签: django django-haystack

我一行一行地关注干草堆教程但是当我尝试运行命令rebuild_index时出现错误AttributeError:'CustomerIndex'对象没有属性'fields'

我已经仔细检查了我的设置文件,haystack在我安装的应用程序中,并且我的引擎设置也在那里。

我正在使用飞快移动作为我的搜索引擎。 haystack的版本是2.1.0,而whoosh是2.5.6

请帮我摆脱这个错误。

这是我的search_indexes.py文件:

import datetime
from haystack import indexes
from customers.models import Customer

class CustomerIndex(indexes.SearchField, indexes.Indexable):
    text = indexes.CharField(document=True, use_template=True)
    first_name = indexes.CharField(model_attr='first_name')
    create_date = indexes.DateTimeField(model_attr='create_date')

    def get_model(self):
        return Customer

    def index_queryset(self, using=None):
        """
        used when the entire index model is updated
        """
        return self.get_model()._default_manager.\
              filter(create_date__lte=datetime.datetime.now())

2 个答案:

答案 0 :(得分:1)

错误在class属性中。只需在类属性中将SearchField替换为SearchIndex,即可更改:

class CustomerIndex(indexes.SearchField, indexes.Indexable):

为:

class CustomerIndex(indexes.SearchIndex, indexes.Indexable):

答案 1 :(得分:0)

另一个可能导致使用普通drf的默认UICollectionViewController而非ModelViewSet

的原因