【发布时间】:2021-04-24 09:42:20
【问题描述】:
我有这样的模型结构,我需要获取有关订购了多少比萨饼的信息。
我做了这样的事情PizzaOrder.objects.all().values('pizza').annotate(total=Count('pizza'))。它适用于PizzaOrder 中的count 等于1 的订单,但如果count 大于1,则显示错误的计数。所以我想以某种方式将 Django Count 与我的字段 count 连接起来,以便知道订购了多少比萨饼。
models.py
class Pizza(models.Model):
name = models.CharField(max_length=256)
class Order(models.Model):
order_number = models.IntegerField(primary_key=True)
pizzas = models.ManyToManyField(to='Pizza', through='PizzaOrder')
class PizzaOrder(models.Model):
pizza = models.ForeignKey(
to=Pizza,
on_delete=models.PROTECT,
)
order = models.ForeignKey(
to=Order,
on_delete=models.PROTECT,
)
count = models.SmallIntegerField()
【问题讨论】:
-
您想知道为
Order的实例订购了多少比萨饼,还是只查找与Order无关的总数?或者也许是关于一些单独的比萨饼? -
@AbdulAzizBarkat,总数不考虑
Order
标签: python django django-models django-orm