django - 如何使用 Django ORM 过滤最大值?
问题描述
我有这样的条目:
id user number
1 Peter 1
2 Jack 3
3 Kate 2
4 Carla 3
我的表的名称是这样的User
,所以我想只获取数字最高的用户,但在某些情况下我不知道这个数字。
我想做这样的事情:
max_users = User.objects.filter(number=3)
但问题是在这种情况下,我想我知道最高数字是 3,但并非总是如此。请问你能帮帮我吗 ?
非常感谢 !
解决方案
尝试以下代码段:
from django.db.models import Max
max_number = User.objects.aggregate(Max('number'))['number__max'] # Returns the highest number.
max_users = User.objects.filter(number=max_number) # Filter all users by this number.
推荐阅读
- django - 创建对象时分配给外键字段时的值错误
- python-3.x - Selenium Web 驱动程序 - 尝试单击具有 unselectable="on" 的保存按钮。有没有办法解决这个问题?
- laravel - 从有条件的数据库中获取数据并在视图中显示
- checkstyle - checkstyle 不允许 SuppressWarnings 注释,除非附近有注释
- python-3.x - 使用 Pytest 在导入期间模拟类
- javascript - 在 npm 模块中导入不同的嵌套包
- python - 在 matplotlib 图中填充指定区域
- css - R rmarkdown ioslides - 如何包含“谢谢”幻灯片?
- java - 读取 JSON 时的问题
- javascript - WebRTC getUserMedia 加载时淡入淡出