无法在Django 1.7中创建南数据库模型

时间:2014-05-19 04:28:37

标签: django django-south django-1.7

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

我未能' syncdb'使用Django 1.7管理命令以创建南模型:

/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'

3 个答案:

答案 0 :(得分:11)

如果您在Django 1.6上启动了一个项目但已升级到Django 1.7,则可能不会立即看到此错误。但是如果你为项目做一个新的结账和数据库构建,那么这个神秘的错误就会出现。

解决方案是从您的INSTALLED_APPS中移除南方(也可能是pip' requirements.txt)。你不再需要它们了。

答案 1 :(得分:10)

official South site上:

  

南方不适用于Django 1.7 ;它只支持版本1.4,   1.5和1.6。

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

答案 2 :(得分:2)

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

这是1.7版稳定版的一部分。如果您要从1.6升级到1.7

,则应使用此过程