Dango:如何使用过滤器获得总和
Dango: How to get the sum with filters
我有一个模型:
class SalesOrder(models.Model):
area_coordinator = models.CharField(max_length=200, null=True, blank=True)
order_number = models.IntegerField(null=True, blank=True)
quantity = models.IntegerField(null=True, blank=True)
我需要得到基于 area_coordinator 的数量总和。
提前致谢。
如果你想按 area_coordinator
过滤,你可以简单地 aggregate the sum 这样:
from django.db.models import Sum
value = SalesOrder.objects.filter(area_coordinator='some value').aggregate(total=Sum('quantity'))['total']
但是,如果你想 GROUP BY
area_coordinator
并得到它们的总和,那么试试这样:
from django.db.models import Sum
SalesOrder.objects.values('area_coordinator').annotate(total=Sum('quantity')).values('area_coordinator', 'total')
我有一个模型:
class SalesOrder(models.Model):
area_coordinator = models.CharField(max_length=200, null=True, blank=True)
order_number = models.IntegerField(null=True, blank=True)
quantity = models.IntegerField(null=True, blank=True)
我需要得到基于 area_coordinator 的数量总和。
提前致谢。
如果你想按 area_coordinator
过滤,你可以简单地 aggregate the sum 这样:
from django.db.models import Sum
value = SalesOrder.objects.filter(area_coordinator='some value').aggregate(total=Sum('quantity'))['total']
但是,如果你想 GROUP BY
area_coordinator
并得到它们的总和,那么试试这样:
from django.db.models import Sum
SalesOrder.objects.values('area_coordinator').annotate(total=Sum('quantity')).values('area_coordinator', 'total')