如何访问python字典键作为pydantic模型字段

时间:2021-07-06 14:59:32

标签: python pydantic

我不知道如何使用 pydantic 模型属性而不是直接在字典上使用 get 来访问字典键。

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

def some_function(data: Person):
    abc=data.name
    print(abc)


person={'name':'tom','age':12}
some_function(person)

我得到:AttributeError: 'dict' object has no attribute 'name'

基本上,我需要将一个 dict 传递给一个函数,该函数将作为 Pydantic 模型类型接收,然后我希望能够使用 . (dot) operator 访问传递的 dict 的内容。我见过类似的实现,但我不知道为什么它对我不起作用。

这可能吗?

1 个答案:

答案 0 :(得分:1)

您需要先将 dict 转换为 pydantic 类,

some_function(Person(**person))

some_function(Person.parse_obj(person))