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
|
||
)
|
||
|