2

我有一个工作的 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

我遵循了Django 1.8 RC1 中的答案:创建数据库表时的 ProgrammingError并为应用程序(以及所有其他可以迁移的应用程序,包括auth)运行 makemigrations。没有检测到任何更改,并且migrate在此之后继续失败。我该如何纠正?

HACKY WORKAROUND: 我可以通过在 中注释掉我的所有应用程序来运行项目INSTALLED_APPS,然后按特定顺序添加它们并在migrate我继续运行时运行。WTF...必须有适当的方法来做到这一点。

4

1 回答 1

2

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

于 2015-05-06T17:40:14.317 回答