Pydantic
小于 1 分钟
Pydantic
数据类型
多种数据类型(Unions)
Union
type 允许 Model属性支持不同的类型,例如:
Python 3.7~3.9
# Python 3.7-3.9
from uuid import UUID
from typing import Union
from pydantic import BaseModel
class User(BaseModel):
id: Union[int, str, UUID]
name: str
需要注意的是, 使用 Union
类型时, Pydantic 会尝试匹配其中的各种类型, 并且会使用其匹配到的第一个合适的类型;因此在以上示例中, 由于 UUID
类型可以被解析为 int
类型, 因此 pydantic
会将其认定为 int
类型并不再向后排查类型; 因此, 以上示例应当改为:
Python 3.7~3.9
# Python 3.7-3.9
from uuid import UUID
from typing import Union
from pydantic import BaseModel
class User(BaseModel):
id: Union[UUID,int, str]
name: str