Django 1.8:迁移打破了AbstractBaseUser

Django 1.8: migrations break with AbstractBaseUser

我有一个正在工作的Django1.6项目,而不是升级到1.8。我在app mainapp中有一个自定义用户模型,如下所示:

1
2
class CustomUser(AbstractBaseUser, PermissionsMixin):
    ...

manage.py migratesyncdb失败,错误如下:

1
2
3
4
5
6
7
8
9
10
11
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

我按照django 1.8rc1中的答案:在创建数据库表时编程错误,并为应用程序(以及所有其他可以迁移的应用程序,包括auth)运行makemigrations。未检测到其中任何一个更改,此后,migrate继续失败。我该如何更正?

黑客解决方案:我可以通过评论我在INSTALLED_APPS中的所有应用程序来运行这个项目,然后按特定顺序添加这些应用程序,并在继续运行时运行migrate。世界跆拳道联盟。。。必须有一个适当的方法来做到这一点。


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