Django 对符合条件的字段求和 aggregate

1,数据库

class OrderData(models.Model):
    product=models.ForeignKey(Product,verbose_name='产品')
    ltem_name=models.CharField('产品规格',max_length=50)
    number=models.BigIntegerField('数量',default=0)
    order_date=models.DateField('订单日期',)
    add_time=models.DateTimeField('添加日期',auto_now_add=True)

2,查询

from django.db.models.aggregates import Count,Sum
total=ImportData.objects.filter(product='月华露').aggregate(nums=Sum('number'))
print total['nums']

   也可以根据产品进行分组求和

 reg=ImportDta.object.values('product').annotate(number=Sum("number"))
 #[{'product': u'E', 'number': 3637}, {'product': u'S', 'number': 19409}, {'product': u'C', 'number': 4829}, {'product': u'N', 'number': 846}]

 

你可能感兴趣的:(Django 对符合条件的字段求和 aggregate)