15

Django 1.7 内置了数据库迁移机制。但是,我想为 ols 第三方 django 应用程序运行南迁移。

我未能使用 Django 1.7 执行“syncdb”管理命令来创建 South 模型:

/south/management/commands/syncdb.py", line 82, in handle_noargs
old_app_store, cache.app_store = cache.app_store, SortedDict([

AttributeError: 'Apps' object has no attribute 'app_store'
4

3 回答 3

11

如果您在 Django 1.6 上启动项目但已升级到 Django 1.7,您可能不会立即看到此错误。但是,如果您随后为项目进行新的结帐和数据库构建,就会出现这个神秘的错误。

解决方案是从您的INSTALLED_APPS(以及可能的点子requirements.txt)中删除 South。你不再需要它们了。

于 2014-06-03T18:26:24.130 回答
10

南方官方网站上

South 不适用于 Django 1.7;它仅支持 1.4、1.5 和 1.6 版本。

MIGRATION_MODULES我能看到的唯一解决方案是使用设置为您的项目中的第三方应用程序创建 django 1.7 。当这些第三方应用程序将提供 django 1.7 迁移。您应该删除您的迁移并进行migrate --fake应用程序迁移。

于 2014-09-13T16:07:29.557 回答
2

https://docs.djangoproject.com/en/1.7/topics/migrations/#upgrading-from-south

这是稳定的 1.7 版本的一部分。如果您从 1.6 升级到 1.7,您应该使用此过程

于 2014-09-07T12:42:24.180 回答