muryshev's picture
init
57cf043
raw
history blame
697 Bytes
from datetime import datetime, timezone
from sqlalchemy import (
DateTime,
Integer
)
from sqlalchemy.orm import Mapped, mapped_column, DeclarativeBase
class Base(DeclarativeBase):
"""Базовая модель с id, датой создания и датой удаления."""
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
date_created: Mapped[datetime] = mapped_column(
DateTime, default=datetime.now(timezone.utc), nullable=False
)
date_removed: Mapped[datetime | None] = mapped_column(DateTime, nullable=True)
def to_dict(self):
return {c.name: getattr(self, c.name) for c in self.__table__.columns}