File: Nested.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 (30 lines) | stat: -rw-r--r-- 774 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
30
# generated by datamodel-codegen:
#   filename:  default_object.yaml
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from typing import List, Optional

from pydantic import BaseModel, Field, RootModel

from . import Foo as Foo_1


class Foo(RootModel[str]):
    root: str


class Bar(BaseModel):
    foo: Optional[Foo_1] = Field(
        default_factory=lambda: Foo_1.model_validate({'text': 'abc', 'number': 123})
    )
    baz: Optional[List[Foo_1]] = Field(
        default_factory=lambda: [
            Foo_1.model_validate(v)
            for v in [{'text': 'abc', 'number': 123}, {'text': 'efg', 'number': 456}]
        ]
    )
    nested_foo: Optional[Foo] = Field(
        default_factory=lambda: Foo.model_validate('default foo')
    )