Сумма значений в словаре - PullRequest
0 голосов
/ 20 сентября 2011

Работа над приложением Django, которое может хранить оборудование.

class Equipment(models.Model):
   price = models.DecimalField(max_digits = 12, decimal_places=2)

Хочу добавить цены на все оборудование. Я пытался сделать что-то вроде этого:

total = Equipment.objects.aggregate(Sum('price'))

но если я сделаю это, я не смогу получить какие-либо математические суммы с этим, потому что он говорит, что это dictionary.

Я хочу, чтобы моя цена была числом, потому что я хочу иметь возможность суммировать переменную total.

1 Ответ

1 голос
/ 20 сентября 2011

Вам нужно добавить .all() См. Агрегирование Джанго

Equipment.objects.all().aggregate(Sum('price'))

РЕДАКТИРОВАТЬ: вам не нужно .all(), в этом случае вы можете получить значение изсловарь, возвращаемый путем доступа к значению, возвращенному в dict :

total = Equipment.objects.aggregate(price_sum=Sum('price'))
total_price = total['price_sum']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...