用 pydantic 组织数据
Organize data with pydantic
我正在使用 fastapi 创建一个 api,我需要在 pydantic 中调整输出对象,但我没有得到它。我的代码:
class Obj1(BaseModel):
d:str = None
e:str = None
class Obj(BaseModel):
a:int = None
b:str = None
c:Obj1 = None
data = {'a': 1, 'b': 'b', 'd': 'd', 'e':'e'}
obj = Obj(**data)
这样我就失去了d和e的值
Obj(a=1, b='b', c=None)
预期值为
Obj(a=1, b='b', c=Obj1(d='d', e='e'))
pydantic 中有什么方法可以用来正确转换数据吗?我尝试使用 root_validator 来设置对象的值,但出现了错误。坦克.
给定的 data
字典与定义的模型不匹配,这一个将匹配:
data = {'a': 1, 'b': 'b', 'c': {'d': 'd', 'e': 'e'}}
默认情况下 pydantic
忽略额外的属性,您可以简单地这样做:
obj = Obj(**data, c=Obj1(**data))
我正在使用 fastapi 创建一个 api,我需要在 pydantic 中调整输出对象,但我没有得到它。我的代码:
class Obj1(BaseModel):
d:str = None
e:str = None
class Obj(BaseModel):
a:int = None
b:str = None
c:Obj1 = None
data = {'a': 1, 'b': 'b', 'd': 'd', 'e':'e'}
obj = Obj(**data)
这样我就失去了d和e的值
Obj(a=1, b='b', c=None)
预期值为
Obj(a=1, b='b', c=Obj1(d='d', e='e'))
pydantic 中有什么方法可以用来正确转换数据吗?我尝试使用 root_validator 来设置对象的值,但出现了错误。坦克.
给定的 data
字典与定义的模型不匹配,这一个将匹配:
data = {'a': 1, 'b': 'b', 'c': {'d': 'd', 'e': 'e'}}
默认情况下 pydantic
忽略额外的属性,您可以简单地这样做:
obj = Obj(**data, c=Obj1(**data))