31 lines
728 B
Python
31 lines
728 B
Python
from sqlalchemy.ext.declarative import declarative_base
|
|
from sqlalchemy import Column, DateTime, func
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
import uuid
|
|
|
|
Base = declarative_base()
|
|
|
|
|
|
class BaseModel(Base):
|
|
"""Базовая модель с общими полями"""
|
|
__abstract__ = True
|
|
|
|
id = Column(
|
|
UUID(as_uuid=False),
|
|
primary_key=True,
|
|
default=lambda: str(uuid.uuid4()),
|
|
nullable=False
|
|
)
|
|
created_at = Column(
|
|
DateTime(timezone=True),
|
|
server_default=func.now(),
|
|
nullable=False
|
|
)
|
|
updated_at = Column(
|
|
DateTime(timezone=True),
|
|
server_default=func.now(),
|
|
onupdate=func.now(),
|
|
nullable=False
|
|
)
|
|
|