File size: 697 Bytes
57cf043
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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}