[英]How to model an empty dictionary in pydantic
我正在處理一個遠程 webhook 的請求,我想要驗證的數據要么在那里,要么是一個空字典。 如果它在那里,我希望它通過 model 驗證器運行,但如果它是一個空字典也不會阻塞。
輸入1:
{
"something": {}
}
輸入 2:
{
"something": {
"name": "George",
}
}
輸入 3:
{
"something": {
"invalid": true
}
}
class Person(BaseModel):
name: str
class WebhookRequest(BaseModel):
something: Union[Person, Literal[{}]] # invalid literal
我將如何在 Pydantic 中進行 model 之類的操作,以使輸入 1 和 2 成功,而輸入 3 失敗?
使用extra = "forbid"
選項來禁止額外字段並使用空 model 來表示空字典。
from pydantic import BaseModel
class Empty(BaseModel):
...
class Config:
extra = "forbid"
class Person(BaseModel):
name: str
class Config:
extra = "forbid"
class WebhookRequest(BaseModel):
something: Person | Empty
class Config:
extra = "forbid"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.