我正在尝试将嵌套 dict/json 中的值映射到我的 Pydantic 模型。对我来说,当我的 json/dict 具有扁平结构时,这很有效。然而,我正在努力将值从嵌套结构映射到我的 Pydantic 模型。
假设我有一个以下格式的 json/dict:
d = {
"p_id": 1,
"billing": {
"first_name": "test"
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我有一个 Pydantic 模型,它有两个属性:
class Order(BaseModel):
p_id: int
pre_name: str
Run Code Online (Sandbox Code Playgroud)
如何将键中的值映射first_name到我的 Pydantic 属性pre_name?
有没有一种简单的方法而不是使用 aroot_validator将给定结构解析为我的平面 pydantic 模型?
ale*_*ame 15
您可以自定义__init__模型类:
from pydantic import BaseModel
d = {
"p_id": 1,
"billing": {
"first_name": "test"
}
}
class Order(BaseModel):
p_id: int
pre_name: str
def __init__(self, **kwargs):
kwargs["pre_name"] = kwargs["billing"]["first_name"]
super().__init__(**kwargs)
print(Order.parse_obj(d)) # p_id=1 pre_name='test'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13212 次 |
| 最近记录: |