将一个存在的项目从Django 1.6迁移到1.7

Bud*_*hot 4 migration django django-1.7

我有一个用Python 2.7运行Django 1.6的项目,由于几个原因,我想升级到Django 1.7.

考虑到南从未在这个项目中使用的,我们有一个自定义用户模型(因为自定义用户模型似乎与发生冲突,这是重要的要记住convert_to_south根据这张票).

为顺利升级到Django 1.7需要采取哪些不同步骤?我的秘密梦想是避免使用South并直接利用Django 1.7的本机模式迁移支持.

sax*_*sax 6

从db的角度来看:

  • pip install django == 1.7
  • ./manage.py makemigrations
  • ./manage.py migrate

就这样

其他兼容性检查发行说明:https://docs.djangoproject.com/en/dev/releases/1.7/

您可以找到的主要问题与新的应用程序加载机制有关(即您无法get_user_model()在任何地方使用).没有一种方法可以解决它,取决于代码结构.

一些"无处不在的有效"点是:

  • 如果使用自定义用户模型.总是settings.AUTH_USER_MODEL在ForeignKeys中使用
  • 不要访问您的任何模型 __init__

一些参考:

  • 如果您要跳过 1.7,则需要执行 manage.py migrate --fake-initial,因为这是 1.7 中的默认设置,但在未来版本中不会 (2认同)