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.
Другие публикации из блога
Что означает managed=False в models.py Django?
Предположим что вы используете несколько баз данных в вашем проекте, одна из них основная, другая уже содержит какие-то…
Подробнее
Как обновить npm в Ubuntu?
sudo npm update npm -g
или
sudo npm install npm -g
Подробнее
Django template первый\последний объекты цикла
Для выбора первого или последнего объектов в цикле for шаблонизатора Django используется следующий синтаксис:
{% f…
Подробнее
Кастомная 404 страница в Django 3.xx
Большинство туториалов в сети по запросу "how to create custom 404 page in Django" некорректны, т.к. мало где указывают…
Подробнее
Ошибка 403 CSRF Protection при входе в админку Django 4.*
При попытке входа в админку Django 4.* возникает 403-я ошибка CSRF Protection.
Согласно списку изменений CSRF_TRUSTE…
Подробнее
Склонения для минут\минуты, год\лет в JavaScript
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее