我需要返回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='')