【问题标题】:Python Pydantic Get JSON Regardless of ValidationPython Pydantic 获取 JSON 而不管验证
【发布时间】:2022-11-17 05:44:45
【问题描述】:

我在 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)

【问题讨论】:

    标签: python pydantic


    【解决方案1】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 2023-02-09
      • 2020-09-14
      相关资源
      最近更新 更多