首页 > 解决方案 > 如何使用 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,但并非总是如此。请问你能帮帮我吗 ?

非常感谢 !

标签: djangodjango-modelsdjango-rest-framework

解决方案


尝试以下代码段:

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.

推荐阅读