首页 > 解决方案 > Django迁移错误:应用程序不提供模型

问题描述

我有一种情况,我必须将模型从应用程序 B 移动到应用程序 A。为此,我创建了 3 个迁移:

  1. 为旧模型中的所有数据创建“目标”模型的自动迁移
  2. 从应用 B 中删除模型的手动迁移
  3. 另一个手动迁移,它在删除模型所在的位置创建 ProxyModel(因此其他应用程序仍然可以在原位置找到移动的模型)

我重命名了表并伪造了目标模型的创建,我还伪造了移动模型的删除(因为这些是直接在 DBMS 中完成的,所以我不会丢失数据)但我被困在最后一步,因为当我尝试运行创建代理模型的迁移时,与移动模型有关系的其他模型抱怨应用 B 不提供(现在移动的)模型:

ValueError:字段 b_app.BModel.afield 是用对“b_app.moved_model”的惰性引用声明的,但应用程序“b_app”不提供模型“moved_model”。

我能做些什么?

标签: djangodjango-modelsdjango-migrations

解决方案


推荐阅读