django - 通过计算外键 Django 上的字段总和来排序对象
问题描述
假设我有一些这样定义的模型:
Class Owner(models.Model):
pass
Class Item(models.Model):
value = models.IntegerField()
owners = models.ForeignKey(Owner, related_name="items")
我将如何根据项目价值的总和对所有者进行排序,理想情况下,我可以将其作为一个 QuerySet 传递给一个模板,例如Owner.objects.order_by('-valueofItems')
解决方案
将 ORM聚合与order_by一起使用
from django.db.models import Sum
Owner.objects.annotate(total_value=Sum('item_value')).order_by('-total_value')
推荐阅读
- r - zoo() 如何填充 n 行,而原始 Dataframe 有 n-1 行?
- python - Django rest api DRF - ViewSet 从 get 中隐藏一个字段,但包含 put
- python - 排序时如何处理NULL值?
- php - PHP Laravel 发送邮件返回验证错误和空字段
- serial-port - 串口通讯打印问题
- sun-codemodel - 如何将枚举值作为参数传递给代码模型中的调用?
- amazon-iam - AWS IAM CDK:为用户标记和创建访问密钥
- php - 如何在不刷新页面的情况下在同一个 { div } 上显示表单成功消息?
- javascript - Electron 构建时自动启动 NodeJS
- python - 如何用不同的起点对np数组的某个维度进行切片?