1

我有一个用户创建成本模型的应用程序。我想实现一个功能,用户可以选择“试用”模式,使他们可以根据需要进行尽可能多的更改并观察成本影响。如果试用成功,用户应该能够提交所有更改,如果不成功,用户应该能够回滚到进入试用模式之前的状态。

我知道我可以将所有这些都存储在会话中并简单地使用提交或回滚,但这是最佳实践吗?是否有更好的机制来设置和恢复 dbs 状态?

4

1 回答 1

3

有保存点使用的示例。你可以在这里阅读更多

Session = sessionmaker()
session = Session()
session.add(u1)
session.add(u2)

session.begin_nested() # establish a savepoint
session.add(u3)
session.rollback()  # rolls back u3, keeps u1 and u2

session.commit() # commits u1 and u2
于 2015-04-18T01:35:26.583 回答