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



我正在逐行遵循大海捞针教程,但是当我尝试运行命令时rebuild_index出现错误 属性错误:"客户索引"对象没有属性"字段"

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

我正在使用嗖嗖声作为我的搜索引擎。干草堆的版本是2.1.0,嗖嗖声的版本是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())

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

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

自:

class CustomerIndex(indexes.SearchIndex, indexes.Indexable):
可能导致

这种情况的另一个原因是使用普通drf的默认ModelViewSet而不是HaystackViewSet

最新更新