20 lines
521 B
Python
20 lines
521 B
Python
import datetime
|
|
|
|
from pydantic import BaseModel, Field, validator
|
|
|
|
|
|
class DateTimeModelMixin(BaseModel):
|
|
created_at: datetime.datetime = None # type: ignore
|
|
updated_at: datetime.datetime = None # type: ignore
|
|
|
|
@validator("created_at", "updated_at", pre=True)
|
|
def default_datetime(
|
|
cls, # noqa: N805
|
|
value: datetime.datetime, # noqa: WPS110
|
|
) -> datetime.datetime:
|
|
return value or datetime.datetime.now()
|
|
|
|
|
|
class IDModelMixin(BaseModel):
|
|
id_: int = Field(0, alias="id")
|