1

下面的模式可以转换为 dict 使用branch.__dict__

branch = BranchIn(name='jfslkjf', regionId='fdfasd')
branchDict = branch.__dict__
branchDict = {'name': 'jfslkjf', 'regionId': 'fdfasd' }

如何在 FastAPI 中再次将 dict 对象转换为模式

4

2 回答 2

0

您可以简单地将 dict 传播回Branch.

branchDict = {'name': 'jfslkjf', 'regionId': 'fdfasd' }
branchObj = Branch(**branchDict)

Fastapi 使用 pydantic。

于 2020-08-03T00:53:12.257 回答
0

您可以使用双星号**来解包多个变量以转换为单个对象

class Branch(BaseModel):
    name: str
    regionID: str


def check_type(obj):
    return f"{obj}  \n  type: {type(obj)}"

我创建了这个类和类型检查器,然后我创建了分支对象

branch = Branch(name='jfslkjf', regionID='fdfasd')
check_type(branch)

Out: name='jfslkjf' regionID='fdfasd'  
     type: <class '__main__.Branch'>

然后我转换为字典

branch_dict = branch.__dict__
check_type(branch_dict)


Out: {'name': 'jfslkjf', 'regionID': 'fdfasd'}  
     type: <class 'dict'>

所以我用双星号来解压它

test_branch = Branch(**branch_dict)
check_type(test_branch)

Out: name='jfslkjf' regionID='fdfasd'  
     type: <class '__main__.Branch'>
于 2020-07-30T13:50:24.047 回答