python - Django:通过导致 'current transaction is aborted, commands ignored until end of transaction block' 添加 m2m

标签 python django postgresql transactions

我正在尝试通过直通表添加 m2m 关系,但突然遇到以下错误:

'当前事务被中止,命令被忽略直到事务 block 结束'

关于这个有 2 个奇怪的问题。首先是,我已经成功迁移/同步了我所有的相关应用程序。第二个是关联模型和有问题的模型 (AddedFeature) 成功保存到数据库中,即使抛出错误也是如此。也就是说,即使事务中止,AddedFeature 实例也会保存到数据库中。

http://dpaste.com/1357120/

重申一下 - 刷新我的数据库并重新迁移/重新同步没有有助于解决问题。

最佳答案

查找此错误之前发生的问题。您的代码或您正在使用的代码忽略了数据库错误。所以接下来的操作失败了。

您需要查看数据库和/或应用程序日志以找到之前的问题。然后确定您的应用程序代码的哪一部分正在吞噬数据库异常而不记录它并中止事务。

postgresql.conf 中设置 log_statement = 'all' 对此很有用。

关于python - Django:通过导致 'current transaction is aborted, commands ignored until end of transaction block' 添加 m2m,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18450858/

相关文章:

python - (Python) 在没有括号的情况下将列表添加到另一个列表

Python:以跨平台方式获取AppData文件夹

python - 值错误: need more than 1 value to unpack

python - 我应该使用哪种授权授予类型?

python - SQLAlchemy 模型分配关系不可预测

c++ - 在 PostgreSQL C 扩展中包含头文件

从 mac 设置 python virtualenv - 在 linux 中使用它

python - 针对 SQL Server 的预取相关失败

python - 为什么 Django 模型会进行许多小查询而不是一个大查询?

java - Hibernate 和 Postgres 大对象 - 在实体 finalize() 方法中释放 Blob 资源