如何包括模型和视图的计数和求和查询集

时间:2019-03-27 06:02:46

标签: django-models django-views

我正在尝试将所购买票数(张数)和价格(总和)相加。门票的固定价格为每张25美元。我已经在我的models.py中使用了它:

class Ticket(models.Model):
   venue=models.CharField(max_length=100)
   quantity=models.IntegerField(null=True)
   price=models.DecimalField(max_digits=10, decimal_places=2)
   loop=models.BooleanField(default=True)
   purchaser = models.ForeignKey(User, related_name="purchases", 
   on_delete=models.PROTECT)
   created_at=models.DateTimeField(auto_now_add=True)
   updated_at=models.DateTimeField(auto_now=True)

我很困惑在哪里设置查询集以获取门票总数和价格总和?会是

total_price=Ticket.objects.all().aggregate(Sum('price'))
ticket_count = Tickets.objects.count()

上述变量(例如:total_price和_ticket_count)是否应作为模型中的列包括在内,还是仅需要在视图中说明?数量可以与数量相同吗?非常非常感谢您!

1 个答案:

答案 0 :(得分:0)

More on aggregate

from django.db.models import Sum

# This will give total tickets sold to all the user 
total_tickets = Ticket.objects.aggregate(Sum('quantity'))
total_cost = total_tickets * 25