Django: Calculate the Sum of the column values through query

StackOverflow

I have a model

class ItemPrice( models.Model ):
     price = models.DecimalField ( max_digits = 8, decimal_places=2 )
     ....

I tried this to calculate the sum of price in this queryset:

items = ItemPrice.objects.all().annotate(Sum("price"))

what"s wrong in this query? or is there any other way to calculate the Sum of price column?

I know this can be done by using for loop on queryset but i need an elegant solution.

Thanks!

Answer rating: 235

You"re probably looking for aggregate

from django.db.models import Sum

ItemPrice.objects.aggregate(Sum("price"))
# returns {"price__sum": 1000} for example




Get Solution for free from DataCamp guru