Enum
为了防止数据错位,我们可以使用 Enum 来标准化字段。始终包含一个“其他”选项作为备用,以便模型可以表示不确定性。
from pydantic import BaseModel, Field
from enum import Enum
class Role(Enum):
PRINCIPAL = "PRINCIPAL"
TEACHER = "TEACHER"
STUDENT = "STUDENT"
OTHER = "OTHER"
class UserDetail(BaseModel):
age: int
name: str
role: Role = Field(
description="Correctly assign one of the predefined roles to the user."
)
如果你在使用 Enum
时遇到困难,替代方案是使用 Literal
。