南迁移错误应用程序“在此迁移中不可用”

时间:2009-06-09 15:05:24

标签: django migration

此问题与上一个问题基本相同 here

然而,那里的答案对我不起作用。我已经安装了南部的trunk版本,在相关的迁移文件中手动输入了导入行,并在一个单独的目录中完成了一个完整的“startmigration”并检查了0001_initial.py文件。

我有一个Django项目,里面有几个应用程序,其中一个(名为“core”)被其他人引用。南迁移试图创建一个新表,其中一列具有核心模型的外键。

我目前正在迁移有问题的迁移核心(0006),我甚至将其添加到迁移0001,尽管看起来似乎并不重要。

在我做一些激烈的事情之前,例如删除该字段,运行迁移以及手动添加字段,是否有一个已知的手动解决方法来解决这个南方问题?

3 个答案:

答案 0 :(得分:11)

您可能没有使用--freeze选项,如下所示:

python manage.py startmigration <appname> migrate_core --freeze core

答案 1 :(得分:2)

创建了这样的迁移:

./ manage.py startmygration appname --model NewModel

发生此错误: “此移植中无法使用应用'核心'中的模型'程序'。”

像这样重新创建迁移会修复它:

./ managepy startmigration appname --model NewModel --freeze core.Program

只是做“--freeze core”对我来说没有办法。

答案 2 :(得分:1)

您可以通过尝试访问位于另一个django应用程序中的类来收到此错误。检查以确保您尝试访问的课程位于N - 1字典中。

相关问题