I have a query akin to the following:
SELECT SUM(name) FROM table WH开发者_JAVA技巧ERE name IS NULL
How does that SUM
translate into a QuerySet
in Django? i.e. What operation xyz
does it translate to, in something like MyModel.objects.xyz()
?
Update: The following incorporates the ISNULL aspect of the original query:
from django.db.models import Sum
ModelName.objects.filter(field_name__isnull=True).aggregate(Sum('field_name'))
# returns {'field_name__sum': 1000} for example
You're looking for the Sum aggregation function, which works as follows:
ModelName.objects.aggregate(Sum('field_name'))
See: https://docs.djangoproject.com/en/dev/ref/models/querysets/#sum
精彩评论