Есть модель элемента заказа:
class OrderItem(models.Model):
quantity = models.IntegerField(default=1, verbose_name=u'кол-во (шт)')
price = models.DecimalField(max_digits=7, decimal_places=2, verbose_name=u'цена (руб)')
Мне надо вывести в график через QuerySetStats. Этот модуль работает через джанговские агрегации. Мне надо вывести итоговую сумму всех элементов заказа. Т.е. что-то вроде Sum('total'), где total = self.quantity * self.price .
Я столкнулся с тем, что агрегат Sum строго требует физического наличия колонки total в базе. Т.е. никак подсунуть заранее в базу total нельзя, даже через extra(select={'total':'quantity*price'}). Это оказалось для меня сюрпризом.
Как быть? Может есть что альтернативное QuerySetStats. Или как заставить Sum видеть колонку total?
А ещё вопрос. Как искать по форуму? Поиска нет. Может уже обсуждался вопрос.