Что такое валидатор в pydantic
Python
Middle
Без компании
Что такое валидатор в pydantic
Ответы
Pydantic валидатор — это метод, который позволяет добавлять пользовательскую логику проверки данных для полей модели. Валидаторы выполняются автоматически при создании или обновлении экземпляра модели.
Пример использования валидатора:
```
from pydantic import BaseModel, validator
class User(BaseModel):
name: str
age: int
@validator('age')
def check_age(cls, age):
if age < 18:
raise ValueError('Age must be >= 18')
return age
```
Ключевые особенности:
- Декорируется `@validator` с указанием проверяемых полей
- Может проверять одно или несколько полей
- Должен возвращать значение (может преобразовывать данные)
- Может вызывать исключения при невалидных данных
- Работает как на создании модели, так и при обновлении через `.copy()`
Валидаторы бывают:
- Полевые (проверяют одно поле)
- Корневые (проверяют всю модель целиком)