Pydantic v2.6.3导入field_validator报错求助
Pydantic v2.6.3导入
field_validator报错的解决办法 问题根源
Pydantic从v2版本开始,field_validator不再放在顶层pydantic模块中,而是迁移到了pydantic.validators子模块里。
修复方法
- 直接修改导入路径,从
pydantic.validators导入目标对象:from pydantic.validators import field_validator - 如果你是从Pydantic v1迁移过来的代码,除了调整导入路径,还要注意
field_validator的参数逻辑有变化——比如原来的pre参数现在被mode参数替代,需要根据实际验证需求对应调整。 - 完整可用示例代码:
from pydantic import BaseModel from pydantic.validators import field_validator class User(BaseModel): email: str @field_validator('email') def check_email_format(cls, value): if '@' not in value: raise ValueError('邮箱格式不符合要求') return value
内容的提问来源于stack exchange,提问作者mg72
相关产品推荐
相关产品推荐

