我在模型中重命名了某个字段,然后运行
python manage.py makemigration # successful
python manage.py migrate
我收到第二条命令
NotSupportedError:SQLite不支持在事务中重命名'my_model'。''my_column',因为这会破坏参照完整性。尝试将
atomic = False
添加到迁移类
但是,我看不到这意味着什么交易。收到该错误时,没有正在运行的python或sqlite进程。在sqlite或django文件中还剩下一些锁吗?以及我该如何解决?
答案 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/