24 lines
534 B
Python
24 lines
534 B
Python
from datetime import datetime
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class User(BaseModel):
|
|
id: int
|
|
name: str = "John Doe"
|
|
signup_ts: datetime | None = None
|
|
friends: list[int] = []
|
|
|
|
|
|
external_data = {
|
|
"id": "123",
|
|
"signup_ts": "2017-06-01 12:22",
|
|
"friends": [1, "2", b"3"],
|
|
}
|
|
user = User(**external_data)
|
|
print(user)
|
|
# > User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3]
|
|
print(user.id)
|
|
# > 123
|
|
|
|
print(type(user.friends[0]),type(user.friends[1]),type(user.friends[2])) |