mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
f55515820a
* renaming .json -> .model_dump_json * renaming .dict -> .model_dump * renaming .__fields__ -> .model_fields * renaming .schema -> .model_json_schema * renaming .construct -> .model_construct * renaming .parse_obj -> .model_validate * make linters happy * add changes md-file Co-authored-by: Samuel Colvin <s@muelcolvin.com>
22 lines
565 B
Python
22 lines
565 B
Python
import dataclasses
|
|
from typing import List, Optional
|
|
|
|
from pydantic import Field
|
|
from pydantic.dataclasses import dataclass
|
|
|
|
|
|
@dataclass
|
|
class User:
|
|
id: int
|
|
name: str = 'John Doe'
|
|
friends: List[int] = dataclasses.field(default_factory=lambda: [0])
|
|
age: Optional[int] = dataclasses.field(
|
|
default=None,
|
|
metadata=dict(title='The age of the user', description='do not lie!')
|
|
)
|
|
height: Optional[int] = Field(None, title='The height in cm', ge=50, le=300)
|
|
|
|
|
|
user = User(id='42')
|
|
print(user.__pydantic_model__.model_json_schema())
|