モデルがあります:
class ItemPrice(models.Model):
price = models.DecimalField(max_digits=8, decimal_places=2)
# ...
price
このクエリセットの合計を計算するためにこれを試しました:
items = ItemPrice.objects.all().annotate(Sum('price'))
price
このクエリの何が間違っているのでしょうか? または、列の合計を計算する他の方法はありますか?
クエリセットで for ループを使用することでこれを実行できることはわかっていますが、エレガントなソリューションが必要です。
ありがとう!
ベストアンサー1
おそらくあなたが探しているのはaggregate
from django.db.models import Sum
ItemPrice.objects.aggregate(Sum('price'))
# returns {'price__sum': 1000} for example