gpt4 book ai didi

python - 复杂的 Django 查询

转载 作者:行者123 更新时间:2023-12-01 06:12:42 25 4
gpt4 key购买 nike

我有这些模型:

class Person(models.Model):
position = models.CharField(max_length=64)
group = models.ForeignKey('Group')

class Group(models.Model):
...

现在我想要一个查询,该查询将返回所有不同的,其中每个组中的所有人员都具有 worker 职位。所以我将拥有所有只有 worker 的组。如何做到这一点?

我开始于:

groups = Group.objects.filter(person__position='worker').distinct()

但有了这个,我的群组中的人员不是 worker

例如,我的查询应返回 group1,但返回 group2:

group1
person1 -> position=worker
person2 -> position=worker
person3 -> position=worker

group2
person4 -> position=worker
person5 -> position=looser
person6 -> position=sleeper

最佳答案

这应该有效:

Group.objects.exclude(~Q(person__position="worker"))

编辑:

上面的内容不正确,所以这是我的第二次尝试:

Group.objects.filter(
Q(person__position="worker")
& ~Q(person__position__gt="worker")
& ~Q(person__position__lt="worker")
)

我不确定这是否可以用于所有数据库。它适用于我的 PGSQL 安装。

关于python - 复杂的 Django 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4894577/

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