У меня есть тезисы моделей:
class Person(models.Model):
position = models.CharField(max_length=64)
group = models.ForeignKey('Group')
class Group(models.Model):
...
Теперь я хочу запрос, который вернет мне все отличные Group
, где все люди в каждой группе имеют позицию работник . Поэтому у меня будут все группы, в которых будут только рабочие. Как это сделать?
Я начал с:
groups = Group.objects.filter(person__position='worker').distinct()
Но с этим у меня есть группы, в которых есть люди, которые не работник .
Например, мой запрос должен вернуть group1, но not group2:
group1
person1 -> position=worker
person2 -> position=worker
person3 -> position=worker
group2
person4 -> position=worker
person5 -> position=looser
person6 -> position=sleeper