“bool”字段的验证器失败:值无法解析为布尔值

Validator for `bool` field fails with: value could not be parsed to a boolean

我正在使用 Pydantic 进行数据模型和验证:

class Seller(BaseModel):
    seller_id: int
    display_name: str
    fulfilled_by_vender: bool

Seller 模型在某些模型中用作嵌套字段。正在传递 JSON 或 dict,其中 fulfilled_by_vender 的数据类型有时是字符串。

是否有任何配置可以启用解析 fulfilled_by_vender 以检查它是否为字符串?

我试过使用验证器,但出现错误。

class Seller(BaseModel):
    seller_id: int
    display_name: str
    fulfilled_by_vender: bool

    @validator("fulfilled_by_vender")
    def verify_if_exists(cls, value):
        return 'Packed & shipped by Vender' in value

value could not be parsed to a boolean (type=type_error.bool)

您可以使用 pre 标志,这将导致在其他验证之前调用验证器:

class Seller(BaseModel):
    seller_id: int
    display_name: str
    fulfilled_by_vender: bool

    @validator("fulfilled_by_vender", pre=True)
    def verify_if_exists(cls, value):
        return 'Packed & shipped by Vender' in value