Как включить наборы запросов количества и суммы для моделей и представлений - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь сложить количество билетов (количество) и (сумму) цены каждого купленного билета. Билет по фиксированной цене 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 голосов
/ 31 марта 2019

Подробнее о совокупности

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
...