【发布时间】:2022-01-23 05:19:46
【问题描述】:
假设我有以下关于宠物主人的输入数据。
from types import SimpleNamespace
petowner1 = SimpleNamespace(
id = 1,
cats = [
SimpleNamespace(id=1, name='Princess Peach')
],
dogs = [
SimpleNamespace(id=1, name='Sparky'),
SimpleNamespace(id=2, name='Clifford')
]
)
petowner1 有一个id、一个cats 列表和一个dogs 列表。 ...但我认为 Owner 拥有一个 Pets 列表更有意义,每个宠物都有一个 type 属性('cat' 或 'dog') .因此,我建立了以下 Pydantic 模型
class Pet(BaseModel):
id: int
type: str
name: str
class Config:
orm_mode = True
class Owner(BaseModel):
id: int
pets: List[Pet]
class Config:
orm_mode = True
根据我的输入数据,如何填充这些 Pydantic 模型?我的最终目标是做类似的事情
owner = Owner.from_orm(petowner1)
owner.json()
应该输出哪个
{
'id': 1,
'pets': [
{'id': 1, 'type': 'cat', 'name': 'Princess Peach'},
{'id': 1, 'type': 'dog', 'name': 'Sparky'},
{'id': 2, 'type': 'dog', 'name': 'Clifford'}
]
}
【问题讨论】: