haystack搜索没有索引multivaluefield django

时间:2018-02-19 11:03:20

标签: django elasticsearch django-models django-haystack

我正在尝试使用manytomanyfield进行搜索搜索,但是当我尝试更新索引时,它显示没有属性错误

#search_index.py
class ProductCreateModelIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True,template_name='search/indexes/catalogue/product_text.txt')
user = indexes.CharField(model_attr='user',faceted=True )
title = indexes.EdgeNgramField(model_attr='title')
description = indexes.CharField(model_attr='description',null = True)
category = indexes.CharField(model_attr='category',faceted=True )
brand = indexes.CharField(model_attr='brand_name',faceted=True )
availability_regions = indexes.MultiValueField(faceted=True )
model = indexes.EdgeNgramField(model_attr='model_name',null = True)
    def prepare_availability_regions(self, obj):
    return [ availability_regions.name for a in obj.availability_regions_set.all()]

当我尝试更新时,它显示了我

return [ availability_regions.name for a in obj.availability_regions_set.all()]
AttributeError: 'ProductCreateModel' object has no attribute 'availability_regions_set'

这是我的product_text.txt

{{object.title}}
{% for a in availability_regions %}
   {{ a }}
{% endfor %}
{{object.category}}
{{object.model_name}}
{{object.brand_name}}
{{ object.description|default:"" }}

我只是按照tutoria,我不知道如何以正确的方式做到这一点,你能告诉我正确的方法吗?我在哪里可以找到这个文件?

0 个答案:

没有答案