【问题标题】:Migrate an existant project from Django 1.6 to 1.7将现有项目从 Django 1.6 迁移到 1.7
【发布时间】:2015-02-13 16:46:06
【问题描述】:

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

考虑到在这个项目中从未使用过 South,并且我们有一个自定义用户模型(请记住这一点很重要,因为根据 this ticket,自定义用户模型似乎与 convert_to_south 冲突)。

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

【问题讨论】:

    标签: django migration django-1.7


    【解决方案1】:

    从数据库的角度来看:

    • 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__ 中的任何模型

    一些参考:

    【讨论】:

    • 我更喜欢:“pip install django
    • 检查您在 INSTALLED_APPS 中复制的设置
    • 如果您要跳过 1.7,则需要执行 manage.py migrate --fake-initial,因为这是 1.7 中的默认设置,但在未来版本中不会
    猜你喜欢
    • 1970-01-01
    • 2015-01-02
    • 2015-04-12
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    相关资源
    最近更新 更多