一尘不染

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

django

消息有很多错误:

"DatabaseError: current transaction is aborted, commands ignored until end of transaction block"

从python-psycopg更改为python-psycopg2作为Django项目的数据库引擎。

代码保持不变,只是不知道这些错误来自何处。


阅读 761

收藏
2020-03-26

共1个答案

一尘不染

当查询产生错误并且你尝试运行另一个查询而不先回滚事务时,这就是postgres所做的。(你可能会认为这是一项安全功能,可以防止数据被破坏。)

要解决此问题,你将要弄清楚错误查询在代码中的哪个位置执行。在你的PostgreSQL服务器中使用log_statement和log_min_error_statement选项可能会有所帮助。

2020-03-26