1. ホーム
  2. python

[解決済み] Django SUM クエリ?

2023-03-30 12:23:13

質問

次のような問い合わせがあります。

SELECT SUM(ISNULL(table.name)) FROM table

どのようにして SUM に変換されるのでしょうか? QuerySet は Django ではどうなるでしょうか? xyz は、以下のようなものに変換されるのでしょうか? MyModel.objects.xyz() ?

どのように解決するのですか?

更新:以下は、元のクエリのISNULLの側面を取り入れたものです。

from django.db.models import Sum

ModelName.objects.filter(field_name__isnull=True).aggregate(Sum('field_name'))
# returns {'field_name__sum': 1000} for example

あなたが探しているのはSum集計関数で、次のように動作します。

ModelName.objects.aggregate(Sum('field_name'))

ご覧ください。 https://docs.djangoproject.com/en/dev/ref/models/querysets/#sum