将现有项目从Django 1.6迁移到1.7

时间:2014-12-15 14:44:40

标签: django migration django-1.7

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

考虑到South从未在此项目中使用过,并且我们有自定义用户模型(请务必注意这一点,因为根据this ticket自定义用户模型似乎与convert_to_south发生冲突。

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

1 个答案:

答案 0 :(得分:6)

从db的角度来看:

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

这就是全部

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

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

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

  • 如果使用自定义用户模型。在ForeignKeys中始终使用settings.AUTH_USER_MODEL
  • 不访问__init__
  • 中的任何模型

一些参考: