Files
pydantic/docs/examples/schema1.py
T
Samuel Colvin dd8d013e10 Schemas (#190)
* starting field and model schemas

* field.schema()

* sub-models working

* move default in Schema and tests

* adding schema

* tweak docs
2018-06-28 13:06:24 +01:00

35 lines
695 B
Python

import json
from enum import IntEnum
from pydantic import BaseModel, Schema
class FooBar(BaseModel):
count: int
size: float = None
class Gender(IntEnum):
male = 1
female = 2
other = 3
not_given = 4
class MainModel(BaseModel):
"""
This is the description of the main model
"""
foo_bar: FooBar = Schema(...)
gender: Gender = Schema(
None,
alias='Gender',
choice_names={3: 'Other Gender', 4: "I'd rather not say"}
)
snap: int = Schema(
42,
title='The Snap',
description='this is the value of snap'
)
class Config:
title = 'Main'
print(json.dumps(MainModel.schema(), indent=2))