Суммарная стоимость всех предметов
У меня есть набор запросов, который содержит ряд транзакций для определенного продукта.
transactions = Transaction.objects.filter(product__product_name_id = item.id)
В этом наборе запросов содержится ряд полей.
product
amount
price
transaction_date
Мне нужно вычислить итоговые значения в полях суммы.
Текущий набор запросов возвращает 2 amounts из 2 `транзакций`
Будет ли разумным просмотреть каждую транзакцию и добавить ее в список или есть лучший способ?
list = []
for item in transactions:
amount = item.amount
list.append(amount)
Спасибо
Вы можете позволить БД обрабатывать это, используя aggregation:
from django.db.models import Sum
total = transactions.aggregate(s=Sum("amount"))["s"]
для этого можно использовать aggregate:
from django.db.models import Sum
transactions.aggregate(Sum('amount'))
# returns {'amount__sum': 1000} for example