何时提交数据库事务?例如,它是在每个响应生成结束时吗?
解释这个问题:我需要开发一个更复杂的应用程序,我必须手动控制数据库事务。特别是我必须能够在表单后面设计一组带有一些复杂逻辑的表单(某种“向导”),但是在最后一个表单和确认之前不能提交数据库操作。
当然,我可以将所有内容都放到会话中而不进行任何数据库更改,但这不是解决方案,更改非常复杂,并且必须执行。所以唯一的办法就是让它不受限制。
现在回到问题:如果我在web2py中如何工作,我将更容易决定这对我来说是否是一个好框架。我是一个java和php程序员,我知道python但我还不知道web2py ......
如果你知道任何网页的解释,我也会感激不尽。
谢谢!
答案 0 :(得分:1)
你可以在任何地方调用db.commit()和db.rollback()。如果不这样做并且操作没有引发异常,则在将响应返回给客户端之前提交。如果它引发异常并且未明确捕获,则会回滚。
答案 1 :(得分:0)
你看过官方文件吗?它很好地解释了commit policies和distributed transactions。