Django: クエリを使用して列の値の合計を計算する 質問する

Django: クエリを使用して列の値の合計を計算する 質問する

モデルがあります:

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

おすすめ記事