Skip to main content
 首页 » 编程设计

python之web2py 和数据库事务

2025年05月04日26飞鱼

数据库事务何时被提交?例如,它是在每个响应生成的末尾吗?

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

当然,我可以在不更改任何数据库的情况下将所有内容放入 session ,但这不是解决方案,更改非常复杂,而且确实必须执行。所以唯一的方法就是不提交它。

现在回到问题:如果我了解它在 web2py 中是如何工作的,那么我将更容易决定这是否是一个适合我的框架。我是一名 java 和 php 程序员,我知道 python 但我还不知道 web2py ...

如果您在解释时知道任何网页,我也很感激。

谢谢!

请您参考如下方法:

您几乎可以在任何地方调用 db.commit() 和 db.rollback()。如果您不这样做并且该操作没有引发异常,它会在向客户端返回响应之前提交。如果它引发异常并且没有被显式捕获,它会回滚。