Django не может вычислить сумму на вложенном SUM
Я выполняю этот запрос, где я делаю price*inventory1
и он работает, но когда я пытаюсь сделать price*(inventory1+inventory2)
django выдает ошибку.
это работает
results = (
Card.objects.values("rarity")
.annotate(price=Sum(F("price") * F("inventory1")))
.order_by()
)
этого нет :(
) results = (
Card.objects.values("rarity")
.annotate(
price=Sum(
F("price")
* Sum(
F("inventory1")
+ F("inventory2")
)
)
)
.order_by()
)
Я думаю, что делаю что-то неправильно. Итак, как я могу сделать это в django ORM.
Нет причин работать с внутренней суммой, вы можете работать с:
Card.objects.values('rarity').annotate(
price=Sum(
F('price') * (F('inventory1') + F('inventory2'))
)
).order_by()