pydantic ---- a Python Json Scheme Library
文章目录
教程
- Python笔记:Pydantic库简介_codename_cys 的博客-CSDN博客_pydantic
官方
相关项目
datamodel-code-generator
- GitHub - koxudaxi/datamodel-code-generator: Pydantic model generator for easy…
- 代码生成器,使用 OpenAPI 和 json schema
hypothesis
相关 python library
dataclasses
- python 官方: dataclasses — Data Classes — Python 3.10.5 documentation
- >=python3.7 可以使用 dataclasses.dataclass 替换掉 pydantic 的 BaseModel
- 参考: Dataclasses - pydantic
features 功能特点
- 数据验证和设置工具
- 通过 python annotations (typing) 实现
- 在 runtime 时期强制执行 typing(type hint)
类型不一致,给出错误提示
异常:
pydantic.ValidationError- 作用:记录所有的字段错误情况
优势
IDE, linter 友好
- 类型检查,自动补全
- 可以用于验证数据,也可以用户系统设置的加载
- 速度快,底层使用库 cython 编译
- 支持嵌套 model 验证(复杂结构)
可扩展
- 允许自定义数据类型
- 与 dataclass 集成
pydantic 和 sqlalchemy model 互转
参考:
Arbitrary-Class-Instances - Pydantic
sqlalchemy model –> pydantic model
- 使用
model_validate(sql_model) PydanticModel.model_validate(sqlalchemy_model)
- 使用
Field
要求必填 required
使用 ... 设置
| |
文章作者
上次更新 2024-07-16 (7f33ae8)