Aggregation - обрабатывает все результаты запроса (queryset).
Предположим мы хотим получить среднюю цену всех товаров в магазине:
Product.objects.aggregate(avg_price=Avg('price'))
# {'avg_price': 1596.75}
Annotation - обрабатывает значение каждого значения (item) в запросе (queryset) отдельно.
Посчитаем количество тегов в каждой публикации блога:
q = Blog.objects.annotate(count_tags=Count('tag'))
q[0].count_tags
# 3
q[1].count_tags
# 7
Автор видео Pretty Printed.
Другие публикации из блога
Как выгрузить\восстановить базу данных PostgreSQL из Docker-контейнера
Выгрузить SQL дамп базы
docker exec -i pg_container_name /bin/bash -c "PGPASSWORD=pg_password pg_dump --username p…
Подробнее
Как создать virtualenv с разными версиями Python в Windows
Прежде всего у вас должны быть установлены разные версии Python в системе + virtualenv.
Ниже пример создания виртуал…
Подробнее
Шифр Цезаря на Python
Более подробное описание в статье Build a Caesar Cipher in Python
Подробнее
Как сгенерировать рандомные цвета RGB\HEX в JS?
Выбор случайного цвета из набора
Генерируем случайный цвет в формате RGB
Генерируем случайный цвет в формате …
Подробнее
Настройка отправки email в Django для Gmail, Mail.ru и Яндекс почты
Прежде всего добавьте в settings.py вашего проекта:
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBack…
Подробнее
Кастомная 404 страница в Django 3.xx
Большинство туториалов в сети по запросу "how to create custom 404 page in Django" некорректны, т.к. мало где указывают…
Подробнее