如何访问 python 字典键作为 pydantic 模型字段
How to access a python dictionary keys as pydantic model fields
我无法弄清楚如何使用 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'
基本上,我需要将一个字典传递给一个函数,该函数将作为 Pydantic 模型类型接收,然后我希望能够使用 . (dot) operator
访问传递的字典的内容。我已经看到类似的实现,但我不知道为什么它对我不起作用。
这可能吗?
您需要先将您的字典转换为 pydantic class,
some_function(Person(**person))
或
some_function(Person.parse_obj(person))
我无法弄清楚如何使用 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'
基本上,我需要将一个字典传递给一个函数,该函数将作为 Pydantic 模型类型接收,然后我希望能够使用 . (dot) operator
访问传递的字典的内容。我已经看到类似的实现,但我不知道为什么它对我不起作用。
这可能吗?
您需要先将您的字典转换为 pydantic class,
some_function(Person(**person))
或
some_function(Person.parse_obj(person))