假设我在Environment
和Animal
之间有一个ManyToMany关系,加入表看起来像:
environment_id animal_id
1 1
1 2
1 3
2 1
2 3
3 2
3 4
3 5
4 2
4 3
5 2
5 4
假设我有一组标识为Animal
的{{1}},我如何查询数据库以返回那些只与这些动物相关的子集的环境?在此示例中,(1,2,3)
有{ids Environments
但不是(1,2,4)
或3
。
如果我尝试:
5
显然这不起作用,因为他们都有至少一个来自我子集的动物。
模型类基本上是:
animals = Animal.objects.filter(id__in=(1,2,3))
animal_list = AnimalList.objects.filter(animal__in=animals)
答案 0 :(得分:0)
Documentation of pk-lookup-shortcut
animals = Animal.objects.filter(id__in=[1,2,3])