17 lines
620 B
Python
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
|