迁移Django模型时出现“交易有效”错误

时间:2018-10-31 13:12:39

标签: python django

我在模型中重命名了某个字段,然后运行

python manage.py makemigration # successful
python manage.py migrate

我收到第二条命令

  

NotSupportedError:SQLite不支持在事务中重命名'my_model'。''my_column',因为这会破坏参照完整性。尝试将atomic = False添加到迁移类

但是,我看不到这意味着什么交易。收到该错误时,没有正在运行的python或sqlite进程。在sqlite或django文件中还剩下一些锁吗?以及我该如何解决?

1 个答案:

答案 0 :(得分:1)

转到已在其中重命名模型中某些字段的app文件夹。 运行此命令后

python manage.py makemigration

这在迁移文件夹内的app文件夹中将创建一个迁移文件(最后一个文件,例如:000_initial)。

在将要在该类的开头编写的迁移类中打开该文件,然后添加该文件。

atomic = False

它看起来像这样

class Migration(migrations.Migration):
    atomic = False

这将帮助您运行命令而不会出现错误:

python manage.py migrate

有关更多参考信息,请检查:https://docs.djangoproject.com/en/2.1/howto/writing-migrations/