【问题标题】:join and aggregate using django orm使用 django orm 加入和聚合
【发布时间】:2019-11-15 17:43:27
【问题描述】:
我有两张桌子
用户和购买
采购表有列
用户购买总额
并且用户表有列
用户名和用户名
在这里我想做内部连接来找到每个用户的总购买量
我需要如何在用户和购买之间进行内部连接并聚合以找到每个给定用户的总购买量。使用 django ORM 查询
下面是我可以做这种类型的连接的查询:
select user.* sum(purchase_total) AS 从用户内部购买的总购买量在 purchase.id = user.id 上购买
如何使用它创建 django orm 查询。
【问题讨论】:
标签:
sql
django
django-orm
【解决方案1】:
假设您的购买模型具有这样的关系:
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。