使用FastAPI+SQLModel遇Pydantic V2报错,求可行解决方案
解决FastAPI+SQLModel的PydanticImportError(ConfigError已移除)
核心原因
旧版本SQLModel依赖Pydantic V1中的pydantic.errors.ConfigError,但Pydantic V2重构了配置系统,彻底移除了这个错误类,导致SQLModel导入时触发报错。
推荐解决办法(优先选择)
升级SQLModel到兼容Pydantic V2的版本,这是官方推荐的长期修复方案:
pip install --upgrade sqlmodel
SQLModel从0.0.8版本开始正式支持Pydantic V2,升级后会自动适配V2的API,无需修改现有业务代码。
临时降级方案(不推荐长期使用)
如果因为某些限制无法升级SQLModel,可临时降级Pydantic到V1.x版本:
pip install pydantic<2.0
但此方案会限制你使用Pydantic V2的新特性,且后续可能面临依赖冲突问题。
额外检查
如果升级SQLModel后仍报错,检查代码中是否直接导入了pydantic.errors.ConfigError,如果有,替换为Pydantic V2中的对应错误类型:
- 原V1的
ConfigError场景,在V2中通常可以用ValidationError替代,或者根据具体逻辑改用ValueError。
内容的提问来源于stack exchange,提问作者Antonio DevtilDeath Tanco
相关产品推荐
相关产品推荐

