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.
Другие публикации из блога
Шифр Цезаря на Python
Более подробное описание в статье Build a Caesar Cipher in Python
Подробнее
Чистим Ubuntu Server от мусора
Проверено на Ubuntu Server 20.04
Чистим ненужные пакеты
sudo apt-get --purge autoremove
sudo apt autoclean -y
…
Подробнее
Ошибка при установке пакетов с помощью yarn install
При попытке установить пакеты с помощью yarn install возникает ошибка вида:
yarn install
YN0000: · Yarn 4.1.0
YN…
Подробнее
Как обновить npm в Ubuntu?
sudo npm update npm -g
или
sudo npm install npm -g
Подробнее
Проверить принадлежность пользователя к группе в Django
Принадлежит к одной группе:
<объект_пользователя>.groups.filter(name='Имя_группы').exists()
Принадлежит к группам…
Подробнее
Настройка отправки email в Django для Gmail, Mail.ru и Яндекс почты
Прежде всего добавьте в settings.py вашего проекта:
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBack…
Подробнее