gpt4 book ai didi

django - haystack 没有索引我的多值

转载 作者:行者123 更新时间:2023-12-04 05:46:06 26 4
gpt4 key购买 nike

我正在尝试获取 MultiValueField被索引,但它只是不工作。这是我所拥有的:

类 Public_PollIndex(SearchIndex):
text = CharField(model_attr='question', document=True, use_template=True)
date_created = DateTimeField(model_attr='date_created')
选择 = MultiValueField()

def get_model(self):
返回 Public_Poll

def prepare_choices(self, obj):
# 出于一些愚蠢的原因,我们得到 (u"choice",) 而不仅仅是 u"choice"
# 所以我们解压...
c = [ str(c) for (c,) in obj.choice_set.values_list('choice') ]
返回 c

def index_queryset(self):
返回 self.get_model().objects.filter(date_created__lte=datetime.datetime.now())


然后我在模板中有:

{{ 对象.问题 }}
{{ object.date_created }}
{{ object.choices }}

使用调试器逐步完成 prepare_choices是否返回类似 ['foo', 'bar'] 的内容

但是当我查看 solr 或 Public_PollIndex(Public_Poll.objects.get(id=1)).load_all_queryset() 时我没有看到 choices字段索引,但其他两个是。

最佳答案

怎么查SearchQuerySet ? Public_PollIndex(Public_Poll.objects.get(id=1)).load_all_queryset()返回型号 QuerySet而不是 SearchQuerySet
尝试

SearchQuerySet()[0].text
SearchQuerySet()[0].choices

此外,在模板中,在 forloop 中呈现选择
{% for choice in object.choices %}
{{ choice }}
{% endfor %}

此外,
return obj.choice_set.values_list('choice', flat=True)

# instead of
c = [ str(c) for (c,) in obj.choice_set.values_list('choice') ]
return c

关于django - haystack 没有索引我的多值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com