mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
Validators for dataclasses (#454)
* Added validators for dataclass, fix #415 * Added dataclass validators * Added dataclass validators * Updated docs for added validating to dataclass * Updated docs for added validating to dataclass * Fixed line endings * Set __validators__ type to Mapping instead of Dict * Update History * Use __mro__ instead of __bases__ for gather_validators * Fix PR number * Fix issue.rst header underline * Fix HISTORY.rst merge conflict * Fix utils.py merge conflict * fix utils.py * Rebase and other fixes * Fix rebase and other issues * Change history * Remove unnecessary lines in main.py * Rebase * Update history * Rename ModelType to ModelOrDc * Added inheritance replace test * More consiste dataclass validator tests * fix history. * Remove Optional ModelOrDc Type * Fix ModelOrDc
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
from datetime import date, datetime, time, timedelta
|
||||
from pydantic import BaseModel
|
||||
|
||||
class Model(BaseModel):
|
||||
d: date = None
|
||||
dt: datetime = None
|
||||
t: time = None
|
||||
td: timedelta = None
|
||||
|
||||
|
||||
m = Model(
|
||||
d=1966280412345.6789,
|
||||
dt='2032-04-23T10:20:30.400+02:30',
|
||||
t=time(4, 8, 16),
|
||||
td='P3DT12H30M5S'
|
||||
)
|
||||
|
||||
print(m.dict())
|
||||
# > {'d': datetime.date(2032, 4, 22),
|
||||
# 'dt': datetime.datetime(2032, 4, 23, 10, 20, 30, 400000, tzinfo=datetime.timezone(datetime.timedelta(seconds=9000))),
|
||||
# 't': datetime.time(4, 8, 16),
|
||||
# 'td': datetime.timedelta(days=3, seconds=45005)}
|
||||
Reference in New Issue
Block a user