我不知道如何使用 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 的内容。我见过类似的实现,但我不知道为什么它对我不起作用。
这可能吗?
答案 0 :(得分:1)
您需要先将 dict 转换为 pydantic 类,
some_function(Person(**person))
或
some_function(Person.parse_obj(person))