DatabaseError:当前事务被中止,命令被忽略直到事务块结束 - 在隐身模式但正常没有错误

Posted

技术标签:

【中文标题】DatabaseError:当前事务被中止,命令被忽略直到事务块结束 - 在隐身模式但正常没有错误【英文标题】:DatabaseError: current transaction is aborted, commands ignored until end of transaction block - in incognite mode but no error in normal 【发布时间】:2012-11-22 04:14:19 【问题描述】:

我在 chrome 的隐身模式下收到此错误: DatabaseError: 当前事务被中止,命令被忽略直到事务块结束

但是,在正常模式下,我没有收到此错误。

我从一些中间件的 request.session.save 收到此错误。

最近从 1.3 升级到 1.4.2。

关于会话后端,我将其设置为数据库后端。当我更改为缓存后端时,它没有给出错误。

【问题讨论】:

很难根据这些信息给出任何建议。看起来您正在使用数据库会话后端。你能用 django devserver github.com/dcramer/django-devserver 试试,告诉我们哪些 sql 查询导致你的事务崩溃? 最近从 1.3 升级到 1.4.2。关于会话后端,我将其设置为数据库后端。当我更改为缓存后端时,它没有给出错误。 【参考方案1】:

你看到在隐身模式下,chrome自动删除cookie文件,而django session机制将session id和csrf token存储在cookie中。

您不能使用标准的 django 会话机制来删除 cookie。但是there 是一些实现无cookie session 的方法。

【讨论】:

以上是关于DatabaseError:当前事务被中止,命令被忽略直到事务块结束 - 在隐身模式但正常没有错误的主要内容,如果未能解决你的问题,请参考以下文章

InternalError:当前事务被中止,命令被忽略直到事务块结束

如何调试内部错误当前事务被中止,命令被忽略直到事务块结束?

django - 当前事务被中止,命令被忽略直到事务块结束

我接下来的调试步骤是啥? InternalError:当前事务被中止,命令被忽略直到事务块结束

错误:当前事务被中止,在创建新记录时忽略命令直到事务块结束

Django:通过添加 m2m 导致“当前事务被中止,命令被忽略,直到事务块结束”