sql - 使用 django orm 加入和聚合
问题描述
我有两个表用户和购买
购买表有列 user purchase_total
并且用户表有列 userid 和 username
在这里我想做内部连接以找到每个用户的总购买量
我需要如何在用户和购买之间进行内部连接并聚合以找到每个给定用户的总购买量。使用 django ORM 查询
下面是我会做这种类型的连接的查询:
select user.* sum(purchase_total) AS 从用户内部购买的总购买量在 purchase.id = user.id 上购买
如何使用它创建 django orm 查询。
解决方案
假设您的购买模型具有如下关系:
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
。
推荐阅读
- flutter - 一个 RenderFlex 在右侧溢出了 74 个像素
- javascript - 获取变异类名的索引
- css - 在 rails 5 中未使用具有不同布局的 redirect_to 加载资产
- android - Flutter 中即使应用已断开连接,如何查看日志?
- php - php xml DOMDocument 关闭标签元素
- amazon-web-services - ELB HealthyHostCount 或 UnhealthyHostCount 的 AWS CloudWatch 警报
- ldap - 当 Keyclock LDAP 同步失败时如何获得通知?
- python - 卡住了正则表达式替换
- python - PIP 安装程序中 manylinux1 与 manylinux2020 轮文件之间的区别
- python - 主管服务无权访问音频设备(“设置 open_pcm 时出错:没有这样的文件或目录”)