Карточка Middle FastAPI и Pydantic обновлено

Валидаторы Pydantic v2

Вопрос

Какие валидаторы есть в Pydantic v2?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

@fieldvalidator("field") для одного поля (режимы before, after, wrap, plain), @modelvalidator(mode="before" "after") для проверок всей модели, ограничения в Field(ge=, le=, minlength=, pattern=), а также Annotated-типы с AfterValidator и BeforeValidator.

Ответ

@field_validator("field") для одного поля (режимы before, after, wrap, plain), @model_validator(mode="before" | "after") для проверок всей модели, ограничения в Field(ge=, le=, min_length=, pattern=), а также Annotated-типы с AfterValidator и BeforeValidator.

Разбор

Для проверок между полями удобен model_validator(mode="after"): все поля уже приведены к типам.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.