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:当前事务被中止,命令被忽略直到事务块结束