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'
答案 0 :(得分:11)
如果您在Django 1.6上启动了一个项目但已升级到Django 1.7,则可能不会立即看到此错误。但是如果你为项目做一个新的结账和数据库构建,那么这个神秘的错误就会出现。
解决方案是从您的INSTALLED_APPS
中移除南方(也可能是pip' requirements.txt
)。你不再需要它们了。
答案 1 :(得分:10)
南方不适用于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
,则应使用此过程