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 在相关元素之一上。
我有一个模型水果,水果有果园。
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 在相关元素之一上。