web2py和DB事务

时间:2011-02-12 17:14:32

标签: python web2py

何时提交数据库事务?例如,它是在每个响应生成结束时吗?

解释这个问题:我需要开发一个更复杂的应用程序,我必须手动控制数据库事务。特别是我必须能够在表单后面设计一组带有一些复杂逻辑的表单(某种“向导”),但是在最后一个表单和确认之前不能提交数据库操作。

当然,我可以将所有内容都放到会话中而不进行任何数据库更改,但这不是解决方案,更改非常复杂,并且必须执行。所以唯一的办法就是让它不受限制。

现在回到问题:如果我在web2py中如何工作,我将更容易决定这对我来说是否是一个好框架。我是一个java和php程序员,我知道python但我还不知道web2py ......

如果你知道任何网页的解释,我也会感激不尽。

谢谢!

2 个答案:

答案 0 :(得分:1)

你可以在任何地方调用db.commit()和db.rollback()。如果不这样做并且操作没有引发异常,则在将响应返回给客户端之前提交。如果它引发异常并且未明确捕获,则会回滚。

答案 1 :(得分:0)

你看过官方文件吗?它很好地解释了commit policiesdistributed transactions