Найти - Пользователи
Полная версия: Сумма произведений двух столбцов таблицы
Начало » Django » Сумма произведений двух столбцов таблицы
1
hound
Добрый день, есть модель:
class Sales(models.Model):
count = models.IntegerField()
price = models.IntegerField()

count - кол-во товара
price - цена одной единицы товара.


как можно вычислить итоговую сумму по элементам таблицы?
alchemist
from django.db.models import Sum , F
print(Sales.objects.aggregate(s=Sum(F('price')*F('count') ) )['s'])
https://docs.djangoproject.com/en/dev/topics/db/aggregation/

Плюсик в карму?
hound
alchemist
Плюсов не жалко) но только есть ли пример какой-то? Потому что по агрегации читал, но там по всей выборке и по одному полю модели…а тут сначала нужно вычислить произведение двух полей одного эксземпляра формы (строки в таблице) и потом уже общую сумму этого произведения…
hound
alchemist
https://www.google.com.ua/search?q=django+aggregate+tutorial http://stackoverflow.com/questions/tagged/aggregate+djangohttps://github.com/search?utf8=%E2%9C%93&q=aggregate+django+objects&type=Code&ref=searchresultsНовичек шоле?
ну да, новичок…

вот хоть убей не могу понять как произведение то двух элементов сделать в запросе…
Sales.objects.annotate('price' * ‘count’).aggregate(Sum())

Вроде что-то подобное должно быть, но как джанге сказать, чтобы сначала анотацию сделал по произвдению двух полей, а потмо уже их просумировал
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB