fbe*_*sho 30 python sqlalchemy
我在我的python代码中收到了如下错误(它收集了twitter状态并存储在数据库中).
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back by a nested rollback() call. To begin a new transaction, issue Session.rollback() first.
Run Code Online (Sandbox Code Playgroud)
我想知道问题是什么,它为什么会发生,我该如何解决它.
我不知道nested rollback.有没有简单的例子nested rollback?
编辑:问题解决了.在这种情况下,重点是在我们显式调用rollback之前不会执行回滚,因此当我们包含时nested rollback,我们应该在try语句中编写它,并nested rollback在http:// www中写入异常语句(在大多数情况下).sqlalchemy.org/TRAC /维基/ FAQ#Thetransactionisinactiveduetoarollbackinasubtransaction
而且,这是正确的代码示例.我从上面的链接中引用了这个.
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back by a nested rollback() call. To begin a new transaction, issue Session.rollback() first.
Run Code Online (Sandbox Code Playgroud)
问题解决了。在这种情况下,要点是直到明确调用回滚才执行回滚,因此,当包含include时commit(),应将其写在try语句中,并rollback()以http:/的形式写在异常语句中(大多数情况下)/www.sqlalchemy.org/trac/wiki/FAQ#Thetransactionisinactiveduetoarollbackinasubtransaction
并且,这是正确的代码示例。我引用了上面的链接。
try:
<use session>
session.commit()
except:
session.rollback()
raise
finally:
session.close() # optional, depends on use case
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16652 次 |
| 最近记录: |