我正在尝试使用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)
此处项目设置:
设置:
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'
为什么我有这个错误?
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
答案 0 :(得分:1)
我遇到了同样的问题,并且按照您的指示进行操作,但是在步骤9中,我遇到了此错误: django.db.migrations.exceptions.InconsistentMigrationHistory:迁移admin.0001_initial在其依赖项用户之前应用。0001_initial在数据库“默认”上。
我通过重新排序您的步骤来工作(无需注释掉AUTH_USER_MODEL,也没有注释掉已安装应用程序中的用户)
答案 1 :(得分:0)
我遇到了同样的问题。根据对https://github.com/divio/django-cms/issues/3436的回复,我做了以下哪些对我有用:
AUTH_USER_MODEL
位manage.py makemigrations
manage.py migrate
manage.py makemigrations users
manage.py migrate
我知道这是一个老帖子,但它可能对其他人有帮助。