Урок 03. Библиотека Pydantic

📁 Блок: Flask ⏱️ Время изучения: ~60 мин 🎯 Сложность: Начальная
#pydantic #валидация #json #типизация #модели

⚡ Кратко: суть урока

Pydantic — библиотека для валидации данных в Python с помощью аннотаций типов. Основной класс — BaseModel.

  • Модели объявляются как классы, поля аннотируются типами (int, str, bool).
  • Pydantic автоматически проверяет типы, приводит значения и сообщает об ошибках.
  • Вложенные модели позволяют описывать сложные структуры данных.
  • model_validate_json() — десериализует JSON в модель. model_dump_json() — сериализует модель в JSON.
  • Field() добавляет ограничения: gt, ge, min_length, max_length, default, alias.
  • @field_validator — кастомная валидация полей.
  • Config — глобальные настройки модели.

Что запомнить: Pydantic = типизация + автоматическая валидация + сериализация JSON.

Частая ошибка: путать @validator (Pydantic v1) и @field_validator (Pydantic v2).

📖 О чём этот урок

Этот урок посвящён библиотеке Pydantic — мощному инструменту для валидации и сериализации данных в Python. Pydantic широко используется во Flask, FastAPI, SQLAlchemy и других фреймворках.

Что изучим

  • Что такое Pydantic и зачем он нужен
  • Создание моделей через BaseModel
  • Вложенные модели (nested models)
  • Работа с JSON: десериализация и сериализация
  • Наследование моделей
  • Методы внутри моделей
  • Field() — валидация и метаданные полей
  • Специальные типы: EmailStr, HttpUrl, List
  • Кастомная валидация через @field_validator
  • Настройки модели через Config

📚 Что повторить перед изучением

🎯 Что изучать дальше