I don't believe there is a way to get only the value.
You could just do ${{ total_paid.amount__sum }}
in your template. Or do total_paid = Payment.objects.all().aggregate(Sum('amount')).get('amount__sum', 0.00)
in your view.
EDIT
As others have pointed out, .aggregate()
will always return a dictionary with all of the keys from the aggregates present, so doing .get()
on the result is not necessary. However, if the queryset is empty, each aggregate value would be None
. So depending on your code, if you are expecting a float, you could do:
total_paid = Payment.objects.all().aggregate(Sum('amount'))['amount__sum'] or 0.00