简体中文
Telegram

帖子 Pydantic ломается не на валидации, а на неаккуратной схеме данных

2026年6月22日
P
Python Web & Scripts — Django, FastAPI, скрипты
Pydantic ломается не на валидации, а на неаккуратной схеме данных Если модель нужна для API, начните не с полей, а с границы входа: где строка превращается в тип, где пустое значение считается ошибкой, где можно подставить дефолт. Именно там чаще всего прячутся баги, а не в самих аннотациях. Три правила, которые экономят часы: — не смешивайте «как пришло» и «как храню» в одной модели; — для внешнего JSON держите отдельный слой, а внутренние объекты делайте уже нормализованными; — сложные поля собирайте через field_validator или model_validator, а не через ручной if по всему коду. Если модель начинает разрастаться, смотрите на признаки: • один и тот же класс используется для request, response и ORM; • часть полей нужна только для админки; • валидация зависит от комбинации нескольких значений. В такой точке лучше разделить схемы на маленькие: входная, выходная, общая база, отдельный DTO для редких кейсов. Ещё одна типовая ошибка — пытаться сделать Pydantic «магией для всего». Он хорош там, где нужно явно описать контракт, а не скрыть бизнес-логику. Чем меньше неявности в схеме, тем проще тесты, автодоки и рефакторинг. Плохая модель почти всегда дороже плохого SQL.
2 ·

信息流中的邻近内容

PPython Web & Scripts — Django, FastAPI, скриптыPydantic ломают не типы, а привычка валидировать «на глаз» Если модель используется как контракт, держите в ней только входные данные и правила проверки. Не тащPPython Web & Scripts — Django, FastAPI, скрипты5 ошибок в FastAPI, которые ломают проект раньше, чем нагрузка FastAPI легко стартует, и из-за этого в нем часто пропускают базовую архитектуру. Потом появляютс
这条消息
PPython Web & Scripts — Django, FastAPI, скрипты5 Django-ошибок, которые ломают проект не в коде, а в архитектуре Django часто ругают за «магии», но в реальности проблемы обычно в том, как проект собран. СамыPPython Web & Scripts — Django, FastAPI, скриптыКак уходят из арбитража трафика: интервью с бывшим медиабайером Интервью с арбитражником, который отработал в сфере с 2019 года и ушёл в другую профессию. Герой
PPython Web & Scripts — Django, FastAPI, скриптыPython Web & Scripts — Django, FastAPI, скрипты@python_web_scripts · 频道 · 科技
190订阅者2帖子平均触达
社群信息流 在 Telegram 中打开

来自搜索索引的公开信息流 ChatCrawler ——“公开 Telegram 的 Google”;随着该社群被抓取而更新。 时间为 UTC。

仅限公开内容,使用 Telegram 官方 API。 关于 · 常见问题 · 索引限制 · 移除页面 · 目录 · 搜索 · 计算方法