如题
model
def crudset(classModel):
from datetime import datetime as dt
@event.listens_for(classModel, "before_insert")
def model_brfore_insert(target, value, initiator):
initiator.dt_create = dt.now().strftime("%Y-%m-%d %H:%M:%S")
@event.listens_for(classModel, "before_update")
def model_brfore_update(target, value, initiator):
initiator.dt_update = dt.now().strftime("%Y-%m-%d %H:%M:%S")
@event.listens_for(classModel, "before_delete")
def model_before_delete(target, value, initiator):
from copy import deepcopy
item = deepcopy(initiator)
item.dt_delete = dt.now().strftime("%Y-%m-%d %H:%M:%S")
print(str(item))
正在写 model_before_delete
这个方法,如何能把 dt_delete
这个字段的值 作为软删除的标志,并且停止当前删除的操作,已达到软删的目的,又或者有什么软删的附加库可用吗?
我初学者刚接触不久 请各位大佬赐教
1
Latin 2022-02-15 09:48:28 +08:00
手动实现 软删除标识字段赋值
|
2
Latin 2022-02-15 10:03:48 +08:00
|
3
lolizeppelin 2022-02-15 10:50:59 +08:00
如果你的删除是 object.delete()的方式 重写 delete 方式就好把?
全局的话在监听事件里似乎不能直接做到啊,sqlalchemy 代码太复杂了建议不要这么搞.... |