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…
Подробнее
Как сериализовать объекты в Django?
# views.py
from django.http import JsonResponse
from django.core.serializers import serialize
import json
from …
Подробнее
Как исправить: fix ValueError: Exceeds the limit (4300 digits) for integer string conversion
import sys
sys.set_int_max_str_digits(0)
Подробнее
Проблемы с watch во Vue 3 когда в ref используется объект
Предположим у вас есть объект ref вида:
const note = ref({
title: '',
content: '',
})
Вы пытаете…
Подробнее
Копировать текст в буфер обмена с помощью JS
See the Pen
Untitled by Denis (@m5dev)
on CodePen.
Подробнее
Настройка отправки email в Django для Gmail, Mail.ru и Яндекс почты
Прежде всего добавьте в settings.py вашего проекта:
# EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBack…
Подробнее