Files
Crm-Backend/models/mixins.py

24 lines
506 B
Python

from datetime import datetime, timezone
from sqlalchemy import DateTime
from sqlalchemy.orm import Mapped, mapped_column
class IdMixin:
id: Mapped[int] = mapped_column(primary_key=True)
class SoftDeleteMixin:
is_deleted: Mapped[bool] = mapped_column(
default=False,
nullable=False,
)
class CreatedAtMixin:
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True),
default=lambda: datetime.now(timezone.utc),
nullable=False,
)