[英]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.