📝 Задания
Часть 1. Тест по теории
Вопрос 1
Что такое Pydantic?
Вопрос 2
От какого класса наследуются все модели Pydantic?
Вопрос 3
Какой метод в Pydantic v2 преобразует JSON-строку в объект модели?
Вопрос 4
Что означает параметр gt=0 в Field()?
Вопрос 5
Какой декоратор используется для кастомной валидации поля в Pydantic v2?
Вопрос 6
Что делает параметр alias в Field()?
Вопрос 7
Как называется вложенный класс для глобальных настроек модели в Pydantic?
Часть 2. Практические задания
Простая модель
Создай модель User с полями: name (str), age (int), email (str). Создай объект и выведи его. Попробуй передать неверный тип в age и посмотри на ошибку.
Вложенная модель
Создай модель Address (city, street, house_number). Создай модель User, у которого есть поле address: Address. Создай пользователя с адресом.
JSON ↔ Pydantic
Напиши JSON-строку с данными пользователя. Используй model_validate_json() для преобразования в объект. Затем преобразуй объект обратно в JSON через model_dump_json().
Field с ограничениями
Создай модель Product с полями: name (min_length=2), price (gt=0), quantity (ge=0). Проверь, что валидация работает на некорректных данных.
Кастомный валидатор
Создай модель User с полями age и is_employed. Добавь @model_validator, который проверяет: если is_employed=True, то возраст должен быть от 18 до 65 лет.
Config
Создай модель User с настройками Config: обрезка пробелов, минимальная длина строки 2 символа, валидация при присваивании. Проверь работу на строках с пробелами.