"Wrong number of constraints" 将模型重构到另一个应用程序时
"Wrong number of constraints" when refactoring models to another app
在将臃肿的应用程序中的某些模型(appname/models.py
中的所有内容)重构为子文件夹应用程序(appname/subapp/models.py
中的某些模型)和 运行 makemigrations 后,我得到了运行 manage.py 迁移时出现以下错误:
ValueError: Found wrong number (2) of constraints for appname_modelname1(modelname2_id)
摆脱所有迁移并重新开始是一种选择,但我必须手动编辑所有现有的生产数据库。是否有任何替代方法可以使迁移应用顺利?
事实证明,./manage.py makemigrations
进行了过于复杂的迁移,这可能会在真正的强制约束数据库上失败。如果 objective 只是为了摆脱模型,首先进行迁移,然后编辑迁移文件,以便仅保留 RemoveModel
指令,最后应用迁移。
在将臃肿的应用程序中的某些模型(appname/models.py
中的所有内容)重构为子文件夹应用程序(appname/subapp/models.py
中的某些模型)和 运行 makemigrations 后,我得到了运行 manage.py 迁移时出现以下错误:
ValueError: Found wrong number (2) of constraints for appname_modelname1(modelname2_id)
摆脱所有迁移并重新开始是一种选择,但我必须手动编辑所有现有的生产数据库。是否有任何替代方法可以使迁移应用顺利?
事实证明,./manage.py makemigrations
进行了过于复杂的迁移,这可能会在真正的强制约束数据库上失败。如果 objective 只是为了摆脱模型,首先进行迁移,然后编辑迁移文件,以便仅保留 RemoveModel
指令,最后应用迁移。