17 lines
471 B
Python
17 lines
471 B
Python
"""
|
|
Base model with common fields
|
|
"""
|
|
from sqlalchemy import Column, DateTime, String
|
|
from sqlalchemy.sql import func
|
|
from app.database.base import Base
|
|
|
|
|
|
class TimestampMixin:
|
|
"""Mixin for created_at and updated_at timestamps"""
|
|
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
|
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
|
|
|
|
|
class BaseModel(Base, TimestampMixin):
|
|
"""Base model class"""
|
|
__abstract__ = True |