Django 1.8:迁移与 AbstractBaseUser 中断
Django 1.8: migrations break with AbstractBaseUser
我有一个正在运行的 Django 1.6 项目,我正在升级到 1.8。我在应用 mainapp
中有一个自定义用户模型,如下所示:
class CustomUser(AbstractBaseUser, PermissionsMixin):
...
manage.py migrate
或 syncdb
失败并出现以下错误:
Operations to perform:
Synchronize unmigrated apps: gis, gunicorn, staticfiles, guardian, messages, captcha, corsheaders, bootstrapform
Apply all migrations: sessions, admin, sites, auth, contenttypes, mainapp
Synchronizing apps without migrations:
Creating tables...
Creating table guardian_userobjectpermission
Creating table guardian_groupobjectpermission
Creating table corsheaders_corsmodel
Running deferred SQL...
...
django.db.utils.ProgrammingError: relation "auth_permission" does not exist
我按照 和 运行 makemigrations 中的答案进行了应用程序(以及所有其他可以迁移的应用程序,包括 auth
)。没有检测到任何更改,migrate
在此之后继续失败。我该如何纠正?
HACKY 解决方法:
我可以通过在 INSTALLED_APPS
中注释掉我的所有应用程序来获得项目 运行,然后按特定顺序添加它们,然后 运行 migrate
随着我的进行。 WTF...必须有一个正确的方法来做到这一点。
原来是我使用的第三方应用程序之一需要升级。不是说你可以从错误中分辨出来。
我有一个正在运行的 Django 1.6 项目,我正在升级到 1.8。我在应用 mainapp
中有一个自定义用户模型,如下所示:
class CustomUser(AbstractBaseUser, PermissionsMixin):
...
manage.py migrate
或 syncdb
失败并出现以下错误:
Operations to perform:
Synchronize unmigrated apps: gis, gunicorn, staticfiles, guardian, messages, captcha, corsheaders, bootstrapform
Apply all migrations: sessions, admin, sites, auth, contenttypes, mainapp
Synchronizing apps without migrations:
Creating tables...
Creating table guardian_userobjectpermission
Creating table guardian_groupobjectpermission
Creating table corsheaders_corsmodel
Running deferred SQL...
...
django.db.utils.ProgrammingError: relation "auth_permission" does not exist
我按照 auth
)。没有检测到任何更改,migrate
在此之后继续失败。我该如何纠正?
HACKY 解决方法:
我可以通过在 INSTALLED_APPS
中注释掉我的所有应用程序来获得项目 运行,然后按特定顺序添加它们,然后 运行 migrate
随着我的进行。 WTF...必须有一个正确的方法来做到这一点。
原来是我使用的第三方应用程序之一需要升级。不是说你可以从错误中分辨出来。