gpt4 book ai didi

django - 进行 "not in"查询

转载 作者:行者123 更新时间:2023-12-02 21:44:06 33 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)

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

  • shared 为 True,并且
  • 数字不是任何值[1, 6, 7]

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

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

但是__not__in不存在,不是吗?我觉得我需要稍微调整一下它才能使两个查询相交,但这对于不可能那么复杂的事情来说感觉很恶心。我最好的前进方向是什么?

最佳答案

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

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

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

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