0
使用Django 1.4.2,Haystack 2.0beta和ElasticSearch 0.19,如何查询MultiValueField具有空集[]
的结果?如何在Django Haystack中查询空的MultiValueField结果
使用Django 1.4.2,Haystack 2.0beta和ElasticSearch 0.19,如何查询MultiValueField具有空集[]
的结果?如何在Django Haystack中查询空的MultiValueField结果
我会创建一个名为num_<field>
的整数字段并进行查询。
在这个例子中 '电子邮件' 是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)