Ich habe eine Abfrage ähnlich der folgenden:
SELECT SUM(ISNULL(table.name)) FROM table
Wie SUM
übersetzt sich das in ein QuerySet
in Django? dh in welche Operation xyz
wird es in so etwas übersetzt MyModel.objects.xyz()
?
Ich habe eine Abfrage ähnlich der folgenden:
SELECT SUM(ISNULL(table.name)) FROM table
Wie SUM
übersetzt sich das in ein QuerySet
in Django? dh in welche Operation xyz
wird es in so etwas übersetzt MyModel.objects.xyz()
?
Antworten:
Update: Im Folgenden wird der ISNULL-Aspekt der ursprünglichen Abfrage berücksichtigt:
from django.db.models import Sum
ModelName.objects.filter(field_name__isnull=True).aggregate(Sum('field_name'))
# returns {'field_name__sum': 1000} for example
Sie suchen nach der Summenaggregationsfunktion, die wie folgt funktioniert:
ModelName.objects.aggregate(Sum('field_name'))
Siehe: https://docs.djangoproject.com/de/dev/ref/models/querysets/#sum
ModelName.objects.filter(field_name__isnull=True).aggregate(Sum('field_name'))