Django 1.8 : migrations break with AbstractBaseUser

标签 django django-models django-migrations django-1.8

我有一个正在运行的 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 when creating database tables中的答案进行操作并为应用程序(以及所有其他可以迁移的应用程序,包括 auth)运行 makemigrations。没有检测到任何更改,并且此后 migrate 继续失败。我该如何纠正这个问题?

巧妙的解决方法: 我可以通过注释掉 INSTALLED_APPS 中的所有应用程序来运行项目,然后按特定顺序添加它们并运行 migrate 。 WTF...必须有一个正确的方法来做到这一点。

最佳答案

事实证明,这是我正在使用的需要升级的第三方应用程序之一。您无法从错误中看出。

关于 Django 1.8 : migrations break with AbstractBaseUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29986295/

相关文章:

python - 在一个 ViewSet 中基于每个对象更改序列化程序?

python - Django ManyToManyField 排除

django - 每个存储库的 GitHub 问题 ID 从 1 开始,我如何在 Django 中复制它?

python - 应用迁移时为 "TypeError: an integer is required (got type str)"

python - 当我在 Django 中已有数据迁移时,如何在模型中添加新字段?

mysql - Django OperationalError 2019 无法初始化字符集utf8mb4

python - 为什么 Django 迁移在不使用时在非默认数据库上创建表?

python - Django:处理导入数据库的迁移?

python - 支付完成后无法显示成功页面

python - 如何为 Django models.IntegerChoices 添加标签