SQLAlchemy delete()
的{{1}}方法是否存在任何配置可能性?我想在数据库中标记带有删除标志的相应对象,而不是从中删除。有没有办法实现这个目标?目的是在不损失SQLAlchemy级联功能优势的情况下构建没有破坏性更新的数据库。
答案 0 :(得分:4)
创建您自己的继承自Session
的会话类,并使用您自己的逻辑覆盖delete()
方法(对于那些需要logical delete
的类),回退到另一个的默认实现对象。如果您使用sessionmaker或类似工厂,也可以在class_
参数中提供您的课程。
希望这能回答你的问题。但是,在说过/写过之后,对于逻辑删除有 SOOO MUCH MORE ,特别是在Referential Integrity
的术语中,可以写一系列文章这一点。