Python Pydantic获取JSON,无论是否验证



我在Pydantic中有一个验证失败的类。无论失败,我都想获取JSON。什么好主意吗?

from pydantic import BaseModel, Field, ValidationError
class Model(BaseModel):
a: float = Field(ge=1.0)
try:
m = Model(a=0.5)
print(m.json())
except ValidationError as e:
data = e.data()  # fake method, would return '{"a": 0.5}
data['errors'] = e.json()
print(data)

您可以手动创建字典,然后将其传递给下一步

from pydantic import BaseModel, Field, ValidationError
class Model(BaseModel):
a: float = Field(ge=1.0)
try:
d = {'a': 0.5}
m = Model.parse_obj(d)
print(m.json())
except ValidationError as e:
d['errors'] = e.json()
print(d)

最新更新