Я рассчитываю стоимость проданных предметов в представлениях django и в сигналах django и хочу рассчитать стоимость проданных предметов на лету.Поля цены и количества являются целыми числами.Как я могу преобразовать один из них в число с плавающей точкой и выполнить запрос суммы с помощью некоторых вычислений, подобных приведенным ниже SQL-запросам?
SELECT sum((t.price::FLOAT * t.quantity) / 1000) as cost FROM public."sold" t;
SELECT
t.id, t.price, t.quantity, sum((price::FLOAT * quantity) / 1000) as cost
FROM public."sold" t
GROUP BY t.id;
РЕДАКТИРОВАТЬ: Конечно, ожидаемые результаты - это наборы запросов django
Я ожидал вывода первого запроса
cost
-----------------
5732594.000000002
и ожидал вывода второго запроса
id price quantity cost
------------------------------
846 1100 5000 5500
790 1500 1000 1500
828 2600 1000 2600
938 1000 5000 5000
753 1500 2000 3000
652 5000 1520 7600
РЕДАКТИРОВАТЬ 2: Я решил эту проблемучерез raw()
метод, подобный
MyModel.objects.raw(
'SELECT sum((t.price::FLOAT * t.quantity) / 1000) as cost '
'FROM public."sold" t'
)
вместо питонического