📝 Задания

🎯 Теория + практика по Pydantic

Часть 1. Тест по теории

Вопрос 1

Что такое Pydantic?

Вопрос 2

От какого класса наследуются все модели Pydantic?

Вопрос 3

Какой метод в Pydantic v2 преобразует JSON-строку в объект модели?

Вопрос 4

Что означает параметр gt=0 в Field()?

Вопрос 5

Какой декоратор используется для кастомной валидации поля в Pydantic v2?

Вопрос 6

Что делает параметр alias в Field()?

Вопрос 7

Как называется вложенный класс для глобальных настроек модели в Pydantic?

Часть 2. Практические задания

1

Простая модель

Создай модель User с полями: name (str), age (int), email (str). Создай объект и выведи его. Попробуй передать неверный тип в age и посмотри на ошибку.

2

Вложенная модель

Создай модель Address (city, street, house_number). Создай модель User, у которого есть поле address: Address. Создай пользователя с адресом.

3

JSON ↔ Pydantic

Напиши JSON-строку с данными пользователя. Используй model_validate_json() для преобразования в объект. Затем преобразуй объект обратно в JSON через model_dump_json().

4

Field с ограничениями

Создай модель Product с полями: name (min_length=2), price (gt=0), quantity (ge=0). Проверь, что валидация работает на некорректных данных.

5

Кастомный валидатор

Создай модель User с полями age и is_employed. Добавь @model_validator, который проверяет: если is_employed=True, то возраст должен быть от 18 до 65 лет.

6

Config

Создай модель User с настройками Config: обрезка пробелов, минимальная длина строки 2 символа, валидация при присваивании. Проверь работу на строках с пробелами.