更改SQLAlchemy的Session.delete()行为

Fyn*_*ynn 5 mysql sqlalchemy

有没有关于delete()SQLAlchemy的方法的配置可能性Sessions?我想在数据库中标记带有删除标志的相应对象,而不是从中删除.有没有办法实现这个目标?目的是在不失去SQLAlchemy级联功能优势的情况下构建没有破坏性更新的数据库.

van*_*van 4

创建您自己的会话类,继承Session并使用delete()您自己的逻辑覆盖该方法(对于那些需要 的类logical delete),回退到其他对象的默认实现。如果您使用sessionmaker或类似的工厂,您class_也可以在参数中提供您的类。

希望这能回答您的问题。但是,话虽如此,逻辑删除还有很多内容Referential Integrity,尤其是在 方面,人们可以就此撰写一系列文章。