gpt4 book ai didi

python - 如何在 IntegerField 上为 None 过滤 Haystack SearchQuerySet

转载 作者:太空狗 更新时间:2023-10-29 19:33:43 27 4
gpt4 key购买 nike

这让我有点生气,但看起来应该很简单。

我正在使用 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))

这行得通,但显然不是应该的方式:)

有人能帮忙吗?

谢谢!

最佳答案

我觉得这个问题没有得到回答。操作人员似乎在询问如何使用带有 ElasticSearch 后端的 haystack.query.SearchQuerySet 来过滤空条目。

在上面的例子中,替换

self.searchqueryset.filter(group__isnull=True)

self.searchqueryset.filter(_missing_='group')

不直观,但这是目前为止我唯一能做到的方法。

关于python - 如何在 IntegerField 上为 None 过滤 Haystack SearchQuerySet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19976925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com