Django-如果每个相关模型都满足条件,则从queryset中排除

时间:2019-11-12 13:10:09

标签: django django-models django-orm

给出两个模型:

class Pizza(models.Model):
   ...


class Topping(models.Model):
    on_pizza = models.ForeignKey(Pizza, on_delete=models.CASCADE, related_name='toppings')
    name = models.CharField(max_length=50)
    spicy = models.BooleanField(default=False)

如何排除所有将“辣味”设置为“假”的所有披萨?

因此,我想查询一个比萨饼集,其中每个比萨饼上至少要有一个麻辣馅料。

谢谢!

2 个答案:

答案 0 :(得分:4)

也许

Pizza.objects.filter(toppings__spicy=True).distinct()

答案 1 :(得分:4)

Pizza.objects.filter(toppings__spicy=True).distinct()