使用Django CMS的自定义用户模型。无法解析cms.PageUser的基础

Mr.*_*łaj 6 django django-cms

我正在尝试将自定义用户模型与Django CMS结合使用。我使用以下模型创建了新的用户应用程序:

users.models:

from django.db import models
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    bio = models.TextField(max_length=500, blank=True)
    location = models.CharField(max_length=30, blank=True)
    birth_date = models.DateField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

这里是项目设置:

设置:

INSTALLED_APPS = [
    'djangocms_admin_style',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.admin',
    'django.contrib.sites',
    'django.contrib.sitemaps',
    'django.contrib.staticfiles',
    'django.contrib.messages',
    'users',
    'cms',
    'menus',
    ...
]

AUTH_USER_MODEL = 'users.User'
Run Code Online (Sandbox Code Playgroud)

为什么我有这个错误?

manage.py makemigrations用户

django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [<ModelState: 'cms.PageUser'>]
This can happen if you are inheriting models from an app with migrations (e.g. contrib.auth)
 in an app with no migrations; see https://docs.djangoproject.com/en/1.8/topics/migrations/#dependencies for more
Run Code Online (Sandbox Code Playgroud)

小智 7

我遇到了同样的问题,我按照您的指示进行了操作,但是在第 9 步中我遇到了这个错误:django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial 在其依赖 users.0001_initial 之前应用在数据库“default”上。

我通过重新排序你的步骤让它工作(没有注释掉 AUTH_USER_MODEL 也没有从已安装的应用程序中注释掉用户)

  1. 从用户应用程序中删除了迁移文件夹
  2. 从空白数据库开始
  3. Ran manage.py makemigrations 用户
  4. 运行 manage.py migrate
  5. Ran manage.py makemigrations
  6. 运行 manage.py migrate


Tho*_*mas 2

我遇到了同样的问题。根据对https://github.com/divio/django-cms/issues/3436的回复,我做了以下对我有用的操作:

  1. 从用户应用程序中删除了迁移文件夹
  2. 从已安装的应用程序中注释掉用户
  3. 注释掉了AUTH_USER_MODEL一点
  4. 从空白数据库开始
  5. manage.py makemigrations
  6. manage.py migrate
  7. 把东西放回去,我之前评论过。
  8. manage.py makemigrations users
  9. manage.py migrate

我知道这是一篇旧帖子,但可能对其他人有帮助。