2016-08-01 15 views
3

nicht auflösen Ich versuche, benutzerdefiniertes Benutzermodell mit Django CMS zu verwenden. Ich habe neue Benutzer App mit diesem Modell:Benutzerdefiniertes Benutzermodell mit Django CMS. Kann Basen für cms.PageUser

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) 

Hier Projekteinstellungen:

Einstellungen:

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' 

Warum ich dieser Fehler?

manage.py makemigrations Benutzer

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

Haben Sie 'manage.py makemigrations ' gemacht? – mishbah

+0

Es könnte sich lohnen, erneut mit einer neuen leeren Datenbank zu beginnen und zuerst eine Migration durchzuführen und dann eine Makemigration durchzuführen. – PhoebeB

Antwort

0

Ich lief in das gleiche Problem. Auf der Grundlage einer Antwort auf https://github.com/divio/django-cms/issues/3436 habe ich die folgenden, die für mich gearbeitet:

  1. entfernt Migrationen Ordner von den Benutzern App
  2. Benutzer kommentiert aus installierten Anwendungen
  3. kommentiert aus der AUTH_USER_MODEL Bit
  4. mit einem Gestartet leere Datenbank
  5. Ran manage.py makemigrations
  6. manage.py migrate Ran
  7. Leg die Dinge zurück, die ich vorher auskommentiert habe.
  8. Ran manage.py makemigrations users
  9. Ran manage.py migrate

Ich weiß, es ist eine alte Post, aber es könnte andere helfen.