我使用 Pydantic 对 API 的请求和响应进行建模。
我定义了一个User
类:
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
我的 API 返回一个用户列表,我通过请求
检索该列表并将其转换为字典:
users = [{"name": "user1", "age": 15}, {"name": "user2", "age": 28}]
如何将此字典转换为 User
实例列表?
我现在的解决方案是
user_list = []
for user in users:
user_list.append(User(**user))
最佳答案
Pydantic V1:
现在可以使用 parse_obj_as
实现这一点。
from pydantic import parse_obj_as
users = [
{"name": "user1", "age": 15},
{"name": "user2", "age": 28}
]
m = parse_obj_as(List[User], users)
Pydantic V2:
使用Type Adapter .
from pydantic import TypeAdapter
users = [
{"name": "user1", "age": 15},
{"name": "user2", "age": 28}
]
ta = TypeAdapter(List[User])
m = ta.validate_python(users)
关于python - 如何使用 Pydantic 解析模型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55762673/