我有一个工作的 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
我遵循了Django 1.8 RC1 中的答案:创建数据库表时的 ProgrammingError并为应用程序(以及所有其他可以迁移的应用程序,包括auth
)运行 makemigrations。没有检测到任何更改,并且migrate
在此之后继续失败。我该如何纠正?
HACKY WORKAROUND:
我可以通过在 中注释掉我的所有应用程序来运行项目INSTALLED_APPS
,然后按特定顺序添加它们并在migrate
我继续运行时运行。WTF...必须有适当的方法来做到这一点。