inventory/crudkit/mixins.py
2025-09-08 10:12:57 -05:00

17 lines
620 B
Python

import datetime as dt
from sqlalchemy import Column, Integer, DateTime, Boolean
from sqlalchemy.orm import declared_attr
from sqlalchemy.ext.hybrid import hybrid_property
class CrudMixin:
id = Column(Integer, primary_key=True)
created_at = Column(DateTime, default=dt.datetime.utcnow, nullable=False)
updated_at = Column(DateTime, default=dt.datetime.utcnow, onupdate=dt.datetime.utcnow, nullable=False)
is_deleted = Column(Boolean, default=False, nullable=False)
@hybrid_property
def is_deleted(self):
return self.is_deleted
def mark_deleted(self):
self.is_deleted = True