[英]How to generate a strict json schema with pydantic?
我最近开始使用 pydandic 生成 JSON 模式来验证数据,但我发现默认情况下生成的模式不会抱怨我的 BaseModel 中的未知键。
例子:
class Query(BaseModel):
id: str
name: Optional[str]
即使 object 具有此处提到的两个属性之外的其他属性,生成的模式也会通过验证。
如果有人添加“foo:bar”属性,我如何确保验证失败?
您需要在 model 上使用配置:
from pydantic import BaseModel, Extra
class Query(BaseModel):
id: str
name: Optional[str]
class Config:
extra = Extra.forbid
它默认为Extra.ignore
,另一个选项是Extra.allow
,它将任何额外的字段添加到生成的 object 中。
您也可以只使用字符串"ignore"
、 "allow"
或"forbid"
以下是您可以使用的所有 model 配置选项:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.