我有两种模式:
Model A:
field1
Model B:
a_list = ManyToManyField(A)
现在,我想找到A不在B的a_list列表中,例如:
A.objects.exclude(self__in=b.a_list)
我该怎么做?
答案 0 :(得分:4)
这些方面应该有效:
A.objects.all().exclude(pk__in=b.a_list)
答案 1 :(得分:0)
外键是单个实例,因此您也可以尝试以下解决方案
如果b是Model B单个实例
A.objects.exclude(id=b.a_list.id)
如果b是
b = B.objects.all()
A.objects.exclude(id__in=[i.a_list.id for i in b])