Главная · Каталог задач · Схемы на Pydantic 2

Готовый сценарий

Схемы на Pydantic 2

В Pydantic 2 важно различать поле, допускающее null, и поле, которое можно не передавать. Енотик поможет разобрать модель и ожидаемые ошибки на маленьком наборе JSON. Учебный PATCH профиля: отсутствие nickname сохраняет старое значение, а явный null очищает его. Эти два действия нельзя объединять при выгрузке модели. Передайте версии и правила, чтобы перенос валидаторов не изменил поведение незаметно для клиента вашего API.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Определите обязательность, допустимость null и значение по умолчанию раздельно.

02

Проверьте частичное обновление на отсутствующем и явно пустом поле.

03

Разделите схемы ввода и ответа, чтобы внутренние значения не выходили наружу.

Вопросы

Частые вопросы

Как задать пример с PATCH?

«Учебный профиль имеет nickname=Лис. После {} имя остаётся Лис; после явного null становится пустым; после нового текста заменяется». Попросите схему Pydantic 2 и ожидаемый набор полей при выгрузке. Эти три примера задают семантику обновления. Если бездумно выгружать все значения по умолчанию, отсутствие поля может ошибочно превратиться в команду стереть существующие данные пользователя.

Почему Optional не всегда означает необязательное поле?

Аннотация допустимого типа и требование наличия поля — разные части модели. Для Pydantic 2 проверьте также значение по умолчанию. Попросите таблицу из отсутствующего ключа, null и нормального значения для вашей конкретной схемы. Название Optional в коде не должно заменять контракт: клиенту важно, какой JSON принимается и какая ошибка возвращается в каждом из трёх случаев.

Как переносить межполевой валидатор?

Передайте старую модель, новую версию и примеры, где проверка должна пройти или отказать. Например, конец периода не может быть раньше начала. Попросите объяснить момент выполнения проверки и доступные данные, а не только заменить имя декоратора. Добавьте отсутствующее начало и неверный тип даты: порядок базовой валидации и межполевого правила влияет на итоговые сообщения об ошибке.

Как убедиться, что схема ответа не раскрывает лишнее?

Задайте разрешённые поля ответа и проверьте объект, содержащий дополнительные внутренние значения. Например, наличие password_hash в исходной записи не должно приводить к его сериализации клиенту. Проверяйте фактический JSON, а не только определение класса. Енотик предлагает схему по переданному контексту; запуск валидаторов и сравнение поведения старой и новой версии выполняются в вашем проекте.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.