@bQ1

QuerySet который возвращает объект с максимальным значением поля?

Как написать запрос чтобы получить объект с максимальным значение какого-либо поля?
  • Вопрос задан
  • 264 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
max_object = SomeModel.objects.order_by('some_field').last()

или

max_object = (SomeModel.objects
                       .annotate(max_some=Max('some_field'))
                       .filter(some_field=F('max_some'))
                       .first())
Ответ написан
Комментировать
@deliro
SomeModel.objects.latest("some_field")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
deepblack
@deepblack Куратор тега Django
https://docs.djangoproject.com/en/dev/topics/db/ag...
>>> from django.db.models import Avg, Max, Min
>>> Book.objects.aggregate(Avg('price'), Max('price'), Min('price'))
{'price__avg': 34.35, 'price__max': Decimal('81.20'), 'price__min': Decimal('12.99')}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы