南与django 1.7

时间:2014-10-08 18:27:28

标签: django django-south

我正在使用django 1.7作为我的应用程序。我遇到了一些迁移问题。每当我尝试更改外键模型中的字段名称时,它就会中断。唯一的解决方法是转到数据库并进行修复,然后运行migrate,然后运行syncdb。 当我的应用程序变得更大时,我如何解决这些问题,并且随着我的架构更改,我将很快花费更多时间来解决数据库错误。 django 1.7不支持South并且有自己的迁移功能并不强大?(我不确定,只是初学者)

1 个答案:

答案 0 :(得分:10)

Django 1.7中的迁移框架基于South。我升级你应该读这个:

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

来自文档:

  

从南方升级如果您已经预先存在迁移   用South创建,然后升级过程使用   django.db.migrations很简单:

     

确保所有安装都与其迁移完全保持同步。去掉   来自INSTALLED_APPS的“南方”。删除所有(编号)迁移   文件,但不是目录或 init .py - 请确保删除   .pyc文件也是。运行python manage.py makemigrations。 Django应该看到   空迁移目录并在中进行新的初始迁移   新格式。运行python manage.py migrate。 Django会看到的   初始迁移的表已经存在并将其标记为   应用而不运行它们。而已!唯一的复杂因素是   你有一个外键的循环依赖循环;在这种情况下,   makemigrations可能会进行多次初始迁移,你会这样做   需要将它们全部标记为应用:

     

python manage.py migrate --fake yourappnamehere