fuware-be/fuware/db/models/_model_base.py
2024-05-15 09:14:26 +00:00

21 lines
665 B
Python

from datetime import datetime
from sqlalchemy import DateTime, Integer
from sqlalchemy.orm import declarative_base, Mapped, mapped_column
from text_unidecode import unidecode
from fuware.db.db_setup import SessionLocal
Model = declarative_base()
Model.query = SessionLocal.query_property()
class SqlAlchemyBase(Model):
__abstract__ = True
created_at: Mapped[datetime | None] = mapped_column(DateTime, default=datetime.utcnow(), index=True)
updated_at: Mapped[datetime | None] = mapped_column(DateTime, default=datetime.utcnow(), onupdate=datetime.utcnow())
@classmethod
def normalize(cls, val: str) -> str:
return unidecode(val).lower().strip()