为带有别名的可选字段创建 pydantic 模型

Create pydantic model for Optional field with alias

带有别名的必修字段的 Pydantic 模型创建如下

class MedicalFolderUpdate(RWModel):
    id : str = Field(alias='_id')
    university : Optional[str]

如何添加可选字段大学的别名'school'作为id?

Pydantic 网站上没有记录如何使用带有字段默认值的类型可选,除了它们允许的类型,其中包括提到的可选:

Optional[x] is simply shorthand for Union[x, None]; see Unions below for more detail on parsing and validation and Required Fields for details about required fields that can receive None as a value.

为此,您必须使用他们的 field customizations,如示例所示:

class Figure(BaseModel):
    name: str = Field(alias='Name')
    edges: str = Field(default=None, alias='Edges')

没有默认值,它会中断,因为可选的不会覆盖该字段是必需的并且需要默认值。这是我在使用 Pydantic 和快速 API 管理 mongo 资源

时用来克服这个问题的解决方案