django - 如何在Django Haystack中查询空的MultiValueField结果

标签 django search elasticsearch django-haystack

使用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/

相关文章:

elasticsearch - 数据操作的API命名约定

elasticsearch - ElasticSearch数组数据与AND条件匹配嵌套元素中的多个属性

java - logstash org.elasticsearch.discovery.MasterNotDiscoveredException 错误

django - 多个Django项目无意间接收到对方的celery任务

python - django-pyodbc : my odbc driver on my old machine worked but now I'm getting a error saying my driver "doesn' t support modern datatime types"

javascript - JQuery即时搜索: how to make a second post request.以及如何使用回车键进行搜索

java - 在匹配预定义条件的 vector 序列中搜索最小索引的算法

python - django 键错误 : "' __name_ _' not in globals"

django - 如何从 forloop.counter 中获取字母?

c# - C#中如何使用prim算法遍历矩形数组中的单元格