|
| 1 | +# generated by datamodel-codegen: |
| 2 | +# filename: has_default_value.json |
| 3 | +# timestamp: 2019-07-26T00:00:00+00:00 |
| 4 | + |
| 5 | +from __future__ import annotations |
| 6 | + |
| 7 | +from enum import Enum |
| 8 | + |
| 9 | +from pydantic import BaseModel, Field, RootModel |
| 10 | + |
| 11 | + |
| 12 | +class TeamType(Enum): |
| 13 | + Department = 'Department' |
| 14 | + Division = 'Division' |
| 15 | + BusinessUnit = 'BusinessUnit' |
| 16 | + Organization = 'Organization' |
| 17 | + |
| 18 | + |
| 19 | +class ID(RootModel[str]): |
| 20 | + root: str |
| 21 | + |
| 22 | + |
| 23 | +class Pet(BaseModel): |
| 24 | + name: str | None = None |
| 25 | + |
| 26 | + |
| 27 | +class Family(RootModel[list[ID]]): |
| 28 | + root: list[ID] = Field( |
| 29 | + default_factory=lambda: [ID.model_validate(v) for v in ['abc', 'efg']] |
| 30 | + ) |
| 31 | + |
| 32 | + |
| 33 | +class FamilyPets(RootModel[list[Pet]]): |
| 34 | + root: list[Pet] = Field( |
| 35 | + default_factory=lambda: [Pet.model_validate(v) for v in ['taro', 'shiro']] |
| 36 | + ) |
| 37 | + |
| 38 | + |
| 39 | +class Person(BaseModel): |
| 40 | + id: ID | None = Field(default_factory=lambda: ID('abc')) |
| 41 | + user: Pet | None = None |
| 42 | + firstName: str | None = Field(None, description="The person's first name.") |
| 43 | + team: TeamType | None = 'Department' |
| 44 | + anotherTeam: TeamType | None = 'Department' |
| 45 | + Family_1: Family | None = Field(None, alias='Family') |
| 46 | + FamilyPets_1: FamilyPets | None = Field(None, alias='FamilyPets') |
0 commit comments