使用Django 1.4.2,Haystack 2.0beta和ElasticSearch 0.19,如何查询MultiValueField的[]
为空的结果?
最佳答案
我将创建一个名为num_<field>
的整数字段并对其进行查询。
在此示例中,“emails”是MultiValueField,因此我们将创建“num_emails”:
class PersonIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
name = indexes.CharField(model_attr='name')
emails = indexes.MultiValueField(null=True)
num_emails = indexes.IntegerField()
def prepare_num_emails(self, object):
return len(object.emails)
现在,您可以在搜索中使用
SearchQuerySet().filter(num_emails=0)
关于django - 如何在Django Haystack中查询空的MultiValueField结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184728/