mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
33b7d52d31
* moving docs to mkdocs * transfering readme to md and more * fixing build * splitting usage.md * improving schema.md and index.md * fix make_history.rst * models intro * working on data conversation and required fields * more fixes to models.md * list all standard types supported * list of pydantic types * tweaks * update links in code * Apply suggestions from code review incorporate @dmontagu's suggestions. Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com> * Apply suggestions from code review more missed suggestions. Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com> * Apply suggestions from code review more corrects. * cleanup * Field order warning * fix and regenerate benchmarks * format examples better, cleanup * improve schema mapping table * correct highlighting file types in schema.md * add redirects in javascript * add logo
32 lines
697 B
Python
32 lines
697 B
Python
from datetime import datetime
|
|
from typing import List
|
|
from pydantic import BaseModel
|
|
|
|
class User(BaseModel):
|
|
id: int
|
|
name = 'John Doe'
|
|
signup_ts: datetime = None
|
|
friends: List[int] = []
|
|
|
|
external_data = {
|
|
'id': '123',
|
|
'signup_ts': '2019-06-01 12:22',
|
|
'friends': [1, '2', 3.1415]
|
|
}
|
|
user = User(**external_data)
|
|
print(user.id)
|
|
#> 123
|
|
print(repr(user.signup_ts))
|
|
#> datetime.datetime(2019, 6, 1, 12, 22)
|
|
print(user.friends)
|
|
#> [1, 2, 3]
|
|
print(user.dict())
|
|
#> {
|
|
#> 'id': 123,
|
|
#> 'signup_ts': datetime.datetime(2019, 6, 1, 12, 22),
|
|
#> 'friends': [1, 2, 3],
|
|
#> 'name': 'John Doe'
|
|
#> }
|
|
print(user.json())
|
|
#> {"id": 123, "signup_ts": "2019-06-01T12:22:00", ...
|