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