这让我有点生气,但似乎应该很简单。
我正在使用 Django 和 Haystack,并且有一个搜索索引,其中包括一个允许 null 的 IntegerField。这是基于 Django 中的相关模型,但我认为这并不重要。例如:
class ThingIndex(indexes.ModelSearchIndex, indexes.Indexable):
group = indexes.IntegerField(model_attr='group__id', null=True)
class Meta:
model = Thing
我有时希望我的 Haystack 查询为此字段返回具有 None/Null 的项目,因此我在搜索表单的 __init__ 中进行过滤,但我无法获得执行此操作的查询。我尝试过的最明显的方法是:
self.searchqueryset.filter(group__isnull=True) # how to do it on a regular Django queryset
但这不会返回任何记录。
现在我正在解决这个问题:
self.searchqueryset.exclude(group__in=range(1,100))
哪个有效,但显然不应该这样做:)
任何人都可以帮忙吗?
谢谢!