如何使用Pyramid事务管理器处理异常?

Jor*_*ril 3 python transactions exception-handling pyramid

我正在构建我的第一个金字塔应用程序(来自Pylons),我正在试图弄清楚如何使用pyramid_tm来处理异常...例如,在Pylons我会做类似的事情

try:
   Session.add(object)
   Session.commit()
except IntegrityError:
   Session.rollback()
   flash("Object already present")
Run Code Online (Sandbox Code Playgroud)

但这应该如何用pyramid_tm完成?

Dan*_*uri 5

Session.flush()而不是Session.commit().

使用pyramid_tm,您不应该(需要)commit()自己处理请求处理代码.