Чему вы научитесь
- Применять SQLAlchemy 2.0 для работы с базами данных в синхронном и асинхронном режимах.
- Разрабатывать модели данных с использованием DeclarativeBase, Mapped и mapped_column.
- Проектировать связи между таблицами: One-to-Many, One-to-One, Many-to-Many, самоссылочные структуры.
- Настраивать каскадное поведение на уровне ORM и базы данных (ondelete, onupdate, passive_deletes).
- Управлять жизненным циклом объектов: transient, pending, persistent, expired, detached.
- Применять Unit of Work, Identity Map, flush(), commit(), expire_on_commit и понимать их влияние на приложение.
- Писать эффективные SELECT-запросы: фильтры, операторы, JOIN, group_by, having, CTE, подзапросы, оконные функции.
- Оптимизировать загрузку связанных данных с помощью selectinload, joinedload, subqueryload, contains_eager, raiseload.
- Устранять проблему N+1 и другие типичные ошибки производительности.
- Работать с асинхронным SQLAlchemy: asyncpg, create_async_engine, AsyncSession, интеграция с FastAPI.
- Настраивать миграции через Alembic, включая асинхронный режим.
- Конфигурировать проект через .env и pydantic-settings.
- Тестировать работу с БД через pytest и фикстуры.
- Применять продвинутые техники: bulk-операции, UPSERT, hybrid_property, events, raw SQL, UUID.
- Строить полноценные backend-приложения: Async CRUD с PostgreSQL и «Библиотеку» на FastAPI + AsyncSession + selectinload.
- Сравнивать SQLAlchemy 1.x и 2.0, понимать различия и осознанно использовать новый синтаксис.
- Готовиться к собеседованиям: знать топ-20 вопросов, уметь переводить SQL в SQLAlchemy и наоборот.
О курсе
Практический курс по SQLAlchemy 2.0: синхронный и асинхронный ORM, связи таблиц, стратегии загрузки, SELECT-запросы, каскады, Alembic, FastAPI и тестирование. Уберём N+1, разберём транзакции, Unit of Work, AsyncSession и типичные ошибки. Проекты и подготовка к собеседованию. Курс для тех, кто хочет уверенно работать с БД в Python.
Преподаватели курса
Что вы получите
- Навыки и знания, востребованные работодателем — уверенное владение SQLAlchemy 2.0, синхронным и асинхронным ORM, оптимизацией запросов и проектированием баз данных. Это именно те компетенции, которые проверяют на собеседованиях и ждут в реальных backend-проектах.
- Возможность отработать теорию на практике — каждое topic закрепляется примерами кода и разбором типичных ошибок.