Django ORM 查找语法

Django ORM lookup syntax

我有一个模型水果,水果有果园。

class Fruit():

  orchards = models.ManyToManyField('Orchard', blank=True)

每个果园都属于一个农场:

class Orchard():
  farm = models.ForeignKey('Farm', verbose_name='Farm', null=True, blank=True, on_delete=models.PROTECT)

每个果实都是一棵幼苗

class Seedling():
   fruit = models.ForeignKey('Fruit', editable=False, on_delete=models.CASCADE)

这是我的尝试:

queryset = Seedling.objects.all().filter(fruit__orchards__in__farm=farm_id)

这让我出错 django.core.exceptions.FieldError: Related Field got invalid lookup: in 任何人都能够清除我的查询?非常感谢

您的过滤条件:

queryset = Seedling.objects.filter(<b>fruit__orchards__farm=farm_id</b>)

所以没有 __in lookup [Django]。如果过滤 one-to-many 关系,或 many-to-many 关系,则过滤 existentially 在相关元素之一上。