Урок 32. Summary session 6
⚡ Кратко: суть урока
Summary session 6 — итоговое повторение DRF-блока (Уроки 26–31).
- ORM ч.2 — агрегация (Count/Sum/Avg/Min/Max), annotate/aggregate, order_by, срезы QuerySet, подзапросы (Subquery/OuterRef), ExpressionWrapper, временные метки.
- Основы DRF — REST-принципы, установка, serializers.Serializer vs ModelSerializer, is_valid/validated_data, @api_view, Response, HTTP-статусы.
- Сериализаторы — fields/__all__/exclude, read_only/write_only, переопределение create/update, кастомная валидация (validate_field, validate).
- Generic views / ViewSets — APIView, ListAPIView, CreateAPIView, RetrieveUpdateDestroyAPIView, ModelViewSet, Router.
- query_params — request.query_params, динамическая фильтрация, сортировка, пагинация.
- Мини-проекты — CRUD Task API: эндпоинты создания, получения, агрегации задач.
Цель: закрепить весь DRF-блок перед изучением Permissions и аутентификации.
📖 О чём этот урок
Этот урок — итоговое повторение шестого блока курса. Мы кратко пройдёмся по всем темам уроков 26–31: продвинутые ORM-запросы, введение в DRF, сериализаторы, generic views и ViewSets, работа с query_params, мини-проекты.
Что повторим
- Агрегация данных: Count, Sum, Avg, Min, Max
- Методы annotate() и aggregate()
- Сортировка order_by() и ограничение QuerySet (срезы)
- Подзапросы: Subquery, OuterRef
- ExpressionWrapper для сложных выражений
- Работа с временными метками
- Что такое Django REST Framework и зачем он нужен
- serializers.Serializer и serializers.ModelSerializer
- Методы is_valid, validated_data, create, update
- Декоратор @api_view, класс APIView
- Generic views: ListAPIView, CreateAPIView, RetrieveUpdateDestroyAPIView
- ModelViewSet и Router
- request.query_params — фильтрация, сортировка, пагинация
- Кастомная валидация: validate_<field>, validate
- Переопределение полей в ModelSerializer
- CRUD Task API — мини-проект из ДЗ