from pydantic import BaseModel, ValidationError
class Foo(BaseModel):
bar: int
baz: str
try:
Foo.parse_obj({"bar": "definitely not an integer"})
except ValidationError as exc:
print(exc.errors())
输出:(格式化以便于阅读)
[
{'loc': ('bar',), 'msg': 'value is not a valid integer', 'type': 'type_error.integer'},
{'loc': ('baz',), 'msg': 'field required', 'type': 'value_error.missing'}
]
1条答案
按热度按时间quhf5bfb1#
ValidationError.json
返回JSON格式的字符串。这不是您想要的。ValidationError.errors
方法返回字典列表,其中每个字典表示ValidationError
中累积的错误之一。示例:
输出:(格式化以便于阅读)
正如您在本例中看到的,当有多个错误时,将有多个字典,每个字典都有自己的
msg
键。如果您只对第一个错误感兴趣(或者您知道只有一个特定的错误),您可以这样做:
输出:
value is not a valid integer