Выбор ответа Junior FastAPI и Pydantic обновлено

API Pydantic v2

Вопрос

Какие методы Pydantic v2 заменили parse_obj и .dict() из v1?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Model.modelvalidate(data) и obj.modeldump(). В v2 методы модели получили префикс model: modelvalidate, modelvalidatejson, modeldump, modeldumpjson, modelcopy.

Варианты ответа

  1. Model.parse_data(data) и obj.to_dict()
  2. Model.validate(data) и obj.json(exclude=None)
  3. Model.model_validate(data) и obj.model_dump()правильный ответ
  4. Model.from_dict(data) и obj.asdict(deep=True)

Разбор

В v2 методы модели получили префикс model_: model_validate, model_validate_json, model_dump, model_dump_json, model_copy. Валидаторы @validator заменили на @field_validator и @model_validator, class Config на model_config = ConfigDict(...). Старые имена частично работают с предупреждениями об устаревании.

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

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