РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
141 of 818 menu

Класс Min

Класс Min применяется в агрегациях и аннотациях QuerySet для нахождения минимального значения поля модели. Он принимает имя поля в качестве аргумента и возвращает наименьшее значение среди всех записей выборки. Класс можно использовать как самостоятельную агрегацию через метод aggregate или в комбинации с annotate для группировок. Поддерживает работу с числами, датами, временем и текстовыми полями.

Синтаксис

from django.db.models import Min # Агрегация по всей таблице Model.objects.aggregate(Min('field_name')) # Аннотация для каждой группы записей Model.objects.values('group_field').annotate(Min('field_name'))

Пример

Найдем минимальную цену среди всех товаров в базе данных:

from myapp.models import Product from django.db.models import Min res = Product.objects.aggregate(Min('price')) print(res)

Результат выполнения кода:

{"price__min": 9.99}

Пример

Вычислим минимальную дату создания заказов для каждого статуса:

from myapp.models import Order from django.db.models import Min res = Order.objects.values('status').annotate(Min('created_at')) for item in res: print(f"{item['status']}: {item['created_at__min']}")

Результат выполнения кода:

"new: 2025-01-10 10:30:00" "processing: 2025-02-15 14:20:00" "shipped: 2025-03-01 09:00:00"

Пример

Получим минимальное значение с помощью комбинации с фильтром:

from myapp.models import Product from django.db.models import Min res = Product.objects.filter(category='electronics').aggregate(Min('price')) print(res)

Результат выполнения кода:

{"price__min": 149.99}

Смотрите также

  • класс Max,
    который вычисляет максимальное значение поля
  • класс Sum,
    который вычисляет сумму значений поля
  • класс Avg,
    который вычисляет среднее значение поля
  • класс Count,
    который подсчитывает количество записей
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить