34

私は Pydantic を使用して、API へのリクエストとレスポンスをモデル化しています。

Userクラスを定義しました:

from pydantic import BaseModel

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

私の API は、取得しrequestsて辞書に変換するユーザーのリストを返します。

users = [{"name": "user1", "age": 15}, {"name": "user2", "age": 28}]

Userこの dict をインスタンスのリストに変換するにはどうすればよいですか?

今のところ私の解決策は

user_list = []
for user in users:
  user_list.append(User(**user))
4

7 に答える 7

73

これは、 を使用して可能になり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)
于 2020-04-03T22:11:53.930 に答える