假设我有以下 Django 模型:
class myClass1(models.Model):
myField1 = models.IntegerField()
class myClass2(models.Model):
myLocalClass1 = models.ManyToManyField(myClass1)
此外,假设我有一个独特的 myClass1 列表:
a = myClass1(myField=1)
b = myClass1(myField=2)
c = myClass1(myField=3)
myTargetList = [a, b, c]
现在,我想使用 Q 对象编写一个 Django 查询,以便它返回所有具有 myTargetList 的任何成员的 myClass2 作为 myLocalClass1。此外,我事先不知道 myTargetList 的确切大小。
我该怎么做?这显然行不通:
myClass2.objects.filter(Q(myLocalClass1__in=myTargetList))