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

4

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

请注意,该项目从未使用过South,并且我们有自定义用户模型(这很重要,因为根据此票,自定义用户模型似乎与convert_to_south冲突)。

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

1个回答

6

从数据库角度来看:

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

就是这样

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

您可能会遇到的主要问题与新的应用程序加载机制有关(即您在任何地方都不能使用get_user_model())。但是,解决它的方法取决于代码结构。

一些“普遍适用”的要点是:

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

一些参考:


我更喜欢使用这个命令: "pip install django<=1.7.99" (1.7.1 是最新版本) - alexander
请检查您的设置,您在已安装的应用程序中有重复项。 - sax
1
如果你要跳过1.7版本,那么你需要执行manage.py migrate --fake-initial命令,因为这是1.7版本的默认设置,但在未来的版本中不再是。 - theicfire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接