mirror of
https://github.com/kennethreitz/pydantic.git
synced 2026-06-05 23:00:18 +00:00
50fd2c5b48
* 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
20 lines
469 B
Python
20 lines
469 B
Python
from datetime import datetime
|
|
|
|
from pydantic import validator
|
|
from pydantic.dataclasses import dataclass
|
|
|
|
|
|
@dataclass
|
|
class DemoDataclass:
|
|
ts: datetime = None
|
|
|
|
@validator('ts', pre=True, always=True)
|
|
def set_ts_now(cls, v):
|
|
return v or datetime.now()
|
|
|
|
|
|
print(DemoDataclass())
|
|
# > DemoDataclass(ts=datetime.datetime(2019, 4, 2, 18, 1, 46, 66149))
|
|
|
|
print(DemoDataclass(ts='2017-11-08T14:00'))
|
|
# > DemoDataclass ts=datetime.datetime(2017, 11, 8, 14, 0) |