我一行一行地关注干草堆教程但是当我尝试运行命令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())
答案 0 :(得分:1)
错误在class属性中。只需在类属性中将SearchField
替换为SearchIndex
,即可更改:
class CustomerIndex(indexes.SearchField, indexes.Indexable):
为:
class CustomerIndex(indexes.SearchIndex, indexes.Indexable):
答案 1 :(得分:0)
另一个可能导致使用普通drf的默认UICollectionViewController
而非ModelViewSet