File: serialize_as_any_pydantic_v2.py

package info (click to toggle)
python-datamodel-code-generator 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,052 kB
  • sloc: python: 29,621; makefile: 15
file content (29 lines) | stat: -rw-r--r-- 794 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# generated by datamodel-codegen:
#   filename:  serialize_as_any.yaml
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from typing import List

from pydantic import BaseModel, Field, SerializeAsAny


class User(BaseModel):
    name: str = Field(..., description="User's name")


class AdminUser(User):
    admin_level: int = Field(..., description='Admin permission level')


class Container(BaseModel):
    admin_user_field: AdminUser = Field(
        ..., description='Field that should not use SerializeAsAny'
    )
    user_field: SerializeAsAny[User] = Field(
        ..., description='Field that should use SerializeAsAny'
    )
    user_list: List[SerializeAsAny[User]] = Field(
        ..., description='List of users that should use SerializeAsAny'
    )