在Django Haystack的SearchQuerySet中过滤空白CharField。



我需要返回SearchQuerySet中的所有条目,其中某个CharField为空,即空字符串。

在我的search_indexes.py中,我有:

sometext = indexes.CharField(model_attr='sometext')

我尝试使用通常的 SQS 语法进行过滤:

SearchQuerySet().filter(sometext__exact='')
SearchQuerySet().filter(sometext__in=['', None])

两者都不只返回空白条目。第一个返回所有条目,第二个根本不返回任何条目。

我的搜索索引定义中是否遗漏了某些内容?有什么方法可以使用 Whoosh 后端在 Haystack 中做到这一点吗?

试试这个,它对我有用:

from haystack.inputs import Raw
r = SearchQuerySet()
r.exclude(sometext=Raw('*'))

你可以这样做:

    SomeQuerySet().filter(sometext='')

最新更新