Какие схемы реализовывал на pydantic

Python Middle Без компании
Какие схемы реализовывал на pydantic
Ответы
Pydantic позволяет реализовывать различные схемы валидации данных. Основные сценарии: - **Базовые модели** - простые DTO для валидации входных/выходных данных: ``` class User(BaseModel): id: int name: str = "John Doe" email: EmailStr ``` - **Вложенные модели** - композиция объектов: ``` class Address(BaseModel): city: str street: str class User(BaseModel): address: Address ``` - **Динамические модели** - создание моделей на лету с `create_model`: ``` DynamicUser = create_model('DynamicUser', age=(int, ...)) ``` - **Настройка валидации** - кастомные валидаторы через декораторы: ``` @validator('name') def name_must_contain_space(cls, v): if ' ' not in v: raise ValueError('must contain a space') return v.title() ``` - **Работа с API** - модели для запросов/ответов в FastAPI: ``` class ItemCreate(BaseModel): name: str price: float class ItemResponse(ItemCreate): id: int created_at: datetime ``` - **Наследование моделей** - расширение базовых моделей: ``` class BaseUser(BaseModel): email: str class AdminUser(BaseUser): is_admin: bool = True ``` Pydantic особенно полезен для парсинга и валидации данных из JSON, env-переменных, конфигов.