Я хотел бы знать, как получить общую цену: количество, умноженное на цену в Django ORM, и какую переменную использовать для шаблона для просмотра значения?
Сообщение успешно отправлено, но не может получить общую стоимость: это то, что у меня есть в views.py:
Контекст = {
"tickets": Ticket.objects.all (),
"всего": Ticket.objects.filter (приобретатель = User.objects.get (ID = request.session [ 'user_id'])) совокупный (total_cost = Sum (F ( 'цена') * F (». количество », output_field = FloatField ())
}
возвратный рендер (запрос, 'first_app / translation.html', контекст)
Это в моем models.py:
from django.db import models
from django.db.models import Sum, Aggregate, F
class User(models.Model):
first_name=models.CharField(max_length=100)
last_name=models.CharField(max_length=100)
email=models.CharField(max_length=100)
password=models.CharField(max_length=100)
created_at=models.DateTimeField(auto_now_add=True)
updated_at=models.DateTimeField(auto_now=True)
class Ticket(models.Model):
venue=models.CharField(max_length=100)
quantity=models.PositiveIntegerField(default=1)
price=models.DecimalField(default=25.00, max_digits=10, decimal_places=2,
null=True, blank=True)
loop=models.CharField(max_length=100)
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)
Как вы запрашиваете ORM, чтобы получить общее количество * цена? Должен ли этот запрос быть включен до или после того, как вы введете «билет» в контексте? Должен ли этот запрос быть добавлен в поле Ticket model? Каждый из них жестко закодирован как 25,00 $, как показано на моделях. Спасибо, я был бы очень признателен!