使用south更改models.py的位置

时间:2013-06-02 20:29:15

标签: django django-south

我刚刚将models.py的位置更改为另一个应用程序的目录。现在,当使用南方进行迁移时,它说:

D:\logos-education-system>manage.py schemamigration core --auto
You cannot use automatic detection, since the previous migration does not have t
his whole app frozen.
Either make migrations using '--freeze core' or set 'SOUTH_AUTO_FREEZE_APP = Tru
e' in your settings.py.

D:\logos-education-system>

不知何故,South无法将models.py(在新文件夹中)与数据库中已有的数据联系起来,并从那里继续。

所以,我的问题是:如何让南方忘记models.py所在的旧文件夹,并以南方认为总是存在的方式使用新文件夹?

提前致谢。

1 个答案:

答案 0 :(得分:5)

通过几个步骤,我做到了。

  1. 首先,我手动更改了南迁移表,将app_name设置为新的app_name

  2. 然后我浏览了所有当前的迁移.py文件,并将旧文件夹的所有数据更改为新文件夹。

  3. 此外,仍然在.py迁移文件中,我确保所有complete_apps = ['OLD_APP_NAME']也已更改为complete_apps = ['NEW_APP_NAME']。

  4. 通常就像models.py一直在那里一样,使用模式迁移。