2011-02-12 105 views
2

何时提交数据库事务?例如,是否在每一代响应结束时?web2py和数据库事务

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

当然,我可以将所有内容都放在会话中,而不用更改任何数据库,但这不是解决方案,所做的更改非常复杂,并且必须执行。所以唯一的办法是保持它的不受欢迎。

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

如果你知道任何网页,当它解释我也wppreciate。

谢谢!

+0

我推荐[web2py的邮件列表]上问这个(https://groups.google.com/forum/?fromgroups#!forum/web2py) - 你会更快地得到更多的帮助。 – Anthony 2011-02-12 20:39:32

+0

谢谢,我会尝试 – jag 2011-02-12 21:20:30

回答

1

几乎到处都可以调用db.commit()和db.rollback()。如果您不这样做并且该操作不引发异常,则在向客户端返回响应之前提交该异常。如果它引发异常并且没有明确捕获,则它会回滚。