2012-01-18 91 views
5

有没有关于delete()-SQLAlchemy的方法Sessions的任何配置可能性?我希望在数据库中标记有删除标志的相应对象,并且不会从中删除标志。有没有办法做到这一点?其目的是在不损失SQLAlchemy级联功能的优点的情况下构建数据库而无需破坏性更新。更改SQLAlchemy的Session.delete()行为

回答

4

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

希望这可以回答你的问题。但是,已经说/写了,有很多更多逻辑删除,特别是在Referential Integrity的条款,可以写一系列的文章。

+0

你有任何链接到实施逻辑delte与sqlalchemy的文章?你能在你的答案中包括一些吗? – 2013-02-01 15:25:50

+0

不,我还没有用sqlalchemy执行逻辑删除。 – van 2013-02-03 11:32:40