Django:无法导入名称迁移

Django: cannot import name migrations

我刚刚发布了一个问题 here。我看到了一个类似问题的答案,它说卸载和安装 requirements.txt 会有所帮助,因为问题的根源是不良的依赖链。

所以我这样做了,现在,当然,我 运行 进入了一个新问题。

当 运行 迁移时,出现以下错误:

  File "C:\Python27\lib\site-packages\genericm2m\migrations[=10=]01_initial.py", line 5, in <module>
    from django.db import migrations, models
ImportError: cannot import name migrations

根据另一个回答,这是因为我正在使用迁移模块,我的Django版本(1.4)还不支持。

django-generic-m2m 模块(版本 0.3.1)似乎正在使用迁移。我不明白为什么现在会出现这个问题,因为我一直使用相同的 requirements.txt 文件而且我从来没有遇到过这个问题。

我曾经遇到过使用迁移的依赖项的类似问题,而我的 Django 无法处理它们。但是这些部门也有一个 south_migrations 文件夹,因此只需将其重命名为 migrations 并删除实际的 migrations 文件夹即可。但是,我在 generic2m2 安装目录中没有看到任何 south_migrations 目录。

以前有人遇到过这个问题吗?

该应用程序没有向南迁移,据我所知,它从未有过。它可能曾经依赖 'syncdb' 来创建数据库表。

较新的 Django 没有 syncdb,因此添加了创建表的迁移。

如果您习惯于重命名迁移目录,那么您可能只删除迁移/目录,但您确实应该升级到受支持的版本。

此外,将 south_migrations 重命名为迁移的旧修复方法并非预期用途:如果您使用 Django-South 1.0(django-south 的最新版本),它将检测 south_migrations 目录何时存在并使用它代替迁移目录。

所以你也应该将 South 更新到 1.0,然后 添加 一个空的 south_migrations/ 目录也可能有效(我不知道)。