我已经开始在Django / Postgres网站上工作。有时我在manage.py shell
中工作,并且不小心执行了一些导致错误的数据库操作。然后我根本无法执行any数据库操作,因为对于我尝试执行的任何数据库操作,都会收到错误消息:
current transaction is aborted, commands ignored until end of transaction block
我当前的解决方法是重新启动外壳程序,但是我应该找到一种无需放弃外壳程序会话即可解决此问题的方法。
((我读过this和this,但是它们没有给出有关如何从Shell执行操作的可行说明。]
我已经开始在Django / Postgres网站上工作。有时,我在manage.py shell中工作,并且意外地执行了一些导致错误的数据库操作。然后我根本无法执行任何数据库操作,...
您可以尝试以下方法:
我浪费了大量的时间来寻找错误,因为我已经添加了模型字段并忘记了makemigrations
有时候会在我身上发生这种情况,通常是失踪了
将备份还原到完全空的数据库后出现此错误。运行后消失了:
警告:以下修补程序可能导致数据库上的事务处于打开状态(至少使用postgres)。不能100%地确定这一点(以及如何解决),但是我强烈建议不要在生产数据库上进行以下修补程序。
如果在运行migrate
(南部)时碰巧遇到这样的错误,则可能是您在数据库模式中进行了很多更改,并希望一次处理所有这些更改。 Postgres对此有点讨厌。始终有效的是将一个大型迁移分解为较小的步骤。您很可能正在使用版本控制系统。
如果您在1.6之前使用的是Django版本,则应使用Christophe出色的xact模块。
我将以下内容添加到我的设置文件中,因为我在“玩转”时喜欢自动提交功能,但在我的网站正在运行时不希望它处于活动状态。
我在Django 1.7中遇到此错误。当我读the documentation时,