Как я могу сделать фильтр по максимальным значениям с помощью 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']
max_users = User.objects.filter(number=max_number)
Вернуться на верх