gpt4 book ai didi

django - 进行 "not in"查询

转载 作者:行者123 更新时间:2023-12-02 04:45:47 26 4
gpt4 key购买 nike

我正在尝试执行相当复杂的查询,我可以在其中排除符合特定条件集的项目。这里有一个 super 简化的模型来解释我的困境:

class Thing(models.Model)
user = models.ForeignKey(User)
shared = models.BooleanField()
number = models.IntegerField()

我从一个按用户过滤的查询集开始:

qs = Thing.objects.filter(user=request.user)

现在,从 Thing 列表中,我想排除以下任何项目:

  • 共享为真,
  • 数字不是任何值[1, 6, 7]

在我的脑海里我会这样做:

qs = qs.exclude(shared=True, number__not__in=[1, 6, 7])

但是 __not__in 不存在,是吗?我觉得我需要调整它以交叉两个查询,但对于不能那么复杂的事情来说这让人感到恶心。我最好的前进方向是什么?

最佳答案

根据与 op 在 IRC 上的讨论,可能是

qs = qs.exclude( Q ( shared = True ) && ~ Q ( number__in=[1,6,7] ) )

关于django - 进行 "not in"查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19833486/

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