使用django orm加入并聚合

时间:2019-07-05 05:44:33

标签: sql django django-orm

我有两个桌子 用户和购买

购买表中包含列 用户purchase_total

,并且用户表具有列 用户名和用户名

在这里我要进行内部联接以查找每个用户的总购买额

我需要如何在用户和购买之间进行内部联接并进行汇总以找到每个给定用户的总购买量。使用Django ORM查询

下面是我要进行这种连接的查询:

选择用户。* sum(purchase_total)是用户在purchase.id = user.id上从内部内部购买的总购买金额

如何使用此方法创建Django orm查询。

1 个答案:

答案 0 :(得分:0)

假设您的购买模型具有以下关系:

class Purchase(models.Model):
    user = models.ForiegnKey(User, related_name='purchases')

然后您可以像这样进行连接和聚合:

from django.db.models import Sum

User.objects.annotate(total_purchase=Sum('purchases'))

有关更多信息,您可以检查此documentation