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

Django - exclude from queryset if every related model meets a condition

给定两个模型:

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)

如何排除所有 "spicy" 设置为 "False" 的披萨?

所以,我想要一个比萨查询集,其中每个比萨都至少有一个辣味配料。

谢谢!

可能

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

?

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