用途:Pydantic 通过 Python 类型提示在运行时校验数据,常用于 FastAPI、Django 的 API 请求/响应校验、环境变量与配置文件管理、SQLAlchemy 等 ORM 模型校验、JSON/dict 数据解析与序列化,以及带类型安全的 CLI 参数解析。
主要能力:以 BaseModel 定义模型,字段可用 Field 设置约束(如 min_length、pattern、gt、le),支持 EmailStr、HttpUrl、UUID4、FilePath、SecretStr、PositiveInt、conint、constr、Literal 等内置类型,也可通过 get_pydantic_core_schema 定义自定义类型。支持字段级 @field_validator 与模型级 @model_validator(before/after/wrap),默认允许类型强制转换,也可用 ConfigDict(strict=True) 或 Field(strict=True) 开启严格模式。支持嵌套模型、递归类型(需 model_rebuild)、泛型模型。序列化提供 model_dump、model_dump_json、field_serializer、model_serializer,可排除或仅包含指定字段、按别名输出。配置管理由 pydantic-settings 的 BaseSettings 提供,支持 .env 文件、env_prefix、嵌套设置。
使用方式:从 pydantic 导入 BaseModel、Field、EmailStr 等,定义模型后实例化即触发校验,校验失败抛出 ValidationError,可用 e.errors() 查看详情。v2 中 .dict() 改为 .model_dump(),.json() 改为 .model_dump_json(),.parse_obj() 改为 .model_validate(),@validator 改为 @field_validator,@root_validator 改为 @model_validator。
限制:资料未提供安装命令、具体版本号、收费与授权信息,也未给出完整性能基准数据,这些内容暂未提供。