【发布时间】:2019-11-12 13:10:09
【问题描述】:
给定两个模型:
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)
如何排除所有配料的“辣”设置为“假”的所有披萨?
所以,我想要一个比萨查询集,其中每个比萨至少有一个辣味配料。
谢谢!
【问题讨论】:
-
由于已经发布了一些答案,我将对您的 Pizza-Topping 关系发表评论。您应该将其更改为
ManyToManyField,这样您就可以将其与许多Pizzas 相关联,并避免为每个Pizza重复Toppings。只需查看文档中的 this 示例即可。如果您将关系添加到Pizza模型,它也会更有意义 -
是的,你是对的。我只是选择了这个例子来说明我的问题,这不是我的生产代码:)
标签: django django-models django-orm