我试图让 aMultiValueField
被索引,但它只是不工作。这是我所拥有的:
类 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): return self.get_model().objects.filter(date_created__lte=datetime.datetime.now())
然后我在模板中有:
{{ object.question }} {{ object.date_created }} {{ object.choices }}
使用调试器单步执行会prepare_choices
返回类似['foo', 'bar']
但是当我查看 solr 或者Public_PollIndex(Public_Poll.objects.get(id=1)).load_all_queryset()
我没有看到choices
索引的字段时,但其他两个是。