Django汇总一列,并根据外键值对这些列进行分组

时间:2018-07-14 18:06:04

标签: sql django django-orm

我需要对orderitem表中的单位求和,还需要计算特定product_category_id的单位总和

OrderItem表

OrderItem table

产品类别表

Product Category table

我的尝试是

product_category_wise_sale = OrderItem.objects\
            .annotate(total=Sum('unit')) \
            .prefetch_related('product__product_category')\
            .values('product_category_id', 'product_category__category_name') \
            .annotate(product_category_wise_total_unit=Sum('unit'))

它将返回

<QuerySet [{'product_category_id': 1, 'product_category__category_name': 'Mobile Phone', 'product_category_wise_total_unit': 7.0}, {'product_category_id': 3, 'product_category__category_name': 'T-Shirt', 'product_category_wise_total_unit': 7.0}]>

我也需要订单表中的总单位。查看结果查询集,它将显示product_category_id明智的product_category_wise_total_unit 7和7。我还需要product_category_wise_total_unit的总和。 我还需要从orderitem表中将单位列的总和为14。

如何解决这个问题?

0 个答案:

没有答案