Create pydantic model for Optional field with alias

Viewed 1204

Pydantic model for compulsory field with alias is created as follows

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

How to add optional field university's alias name 'school' as like of id?

1 Answers

It is not documented on the Pydantic website how to use the typing Optional with the Fields Default besides their allowed types in which they include the mentioned Optional:

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.

for that, you would have to use their field customizations as in the example:

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

without the default value, it breaks because the optional does not override that the field is required and needs a default value. Which is the solution I used to overcome this problem while using Pydantic with fast API to manage mongo resources

Related