Django 1.8:迁移与 AbstractBaseUser 中断

Django 1.8: migrations break with AbstractBaseUser

我有一个正在运行的 Django 1.6 项目,我正在升级到 1.8。我在应用 mainapp 中有一个自定义用户模型,如下所示:

class CustomUser(AbstractBaseUser, PermissionsMixin):
    ...

manage.py migratesyncdb 失败并出现以下错误:

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...必须有一个正确的方法来做到这一点。

原来是我使用的第三方应用程序之一需要升级。不是说你可以从错误中分辨出来。