Назад к вопросам
Middle
73
questionbank
Какие данные можно валидировать с помощью Pydantic?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Pydantic позволяет валидировать следующие типы данных:
- Стандартные типы Python:
int,float,str,bool,list,dict,tuple,set,bytes,bytearray. - Вложенные модели Pydantic: Позволяет создавать комплексные структуры.
- Перечисления (Enums): Ограничивает возможные значения предопределенным набором.
- Даты и время:
datetime,date,time,timediff. - UUIDs: Для уникальныхGлоGальноG id.
- URL: С проверкой формата.
- IPv4/IPv6 адреса: С проверкой формата.
- E-mail адреса: С базовой проверкой формата.
- Типы из модуля
typing:Optional,Union,Literal,Final,Annotatedи другие. - Пользовательские типы: Путем определения валидаторов.
Пример валидации:
from pydantic import BaseModel, Field, EmailStr
from typing import List, Optional
from datetime import date
class User(BaseModel):
user_id: int = Field(gt=0) // Целое число, больше 0
username: str = Field(min_length=3) // Строка, минимум 3 символа
email: EmailStr // Строка, валидный email
is_active: bool = True // Булево (по умолчанию True)
registration_date: date // Дата
tags: Optional[List[str]] = None // Опциональный список строк
class Product(BaseModel):
product_id: int
name: str
price: float = Field(ge=0) // Число с точкой, больше или равно 0