2016-05-21 14 views
0
scheitern

Ich habe ein Modell inhereting von Auth.User Modell, auf diese Weise: Klasse UsuarioWeb (Benutzer): # mehr Felder Und in Codeship wenn Tests zu machen, schlägt es mit diesem Fehler:django Benutzer geerbt Modell

django.db.migrations.exceptions.InvalidBasesError: Cannot resolve bases for [] 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.9/topics/migrations/#dependencies for more (python3_venv)

Ich verstehe den Fehler und es könnte von einem OneToOneField gelöst werden. Eine Frage ist also, mache ich richtig, auf diese Weise zu erben? Und wie kann man diesen Fehler auf diese Weise lösen?

Antwort

1

Wenn Sie ein benutzerdefiniertes Benutzermodell erstellen und kein OneToOneField verwenden möchten, müssen Sie stattdessen die Klasse AbstractBaseUser erben. Diese Klasse enthält nur Authentifizierungsfunktionen. Wenn Sie jedoch die regulären User-Modellfelder enthalten möchten, müssen Sie Ihre benutzerdefinierte Klasse erben AbstractUser. Die Benutzerklassen finden Sie in django.contrib.auth.models.

+0

vielen Dank. Also erbte ich das falsche Modell. – wololoooo

+0

Welchen Weg findest du besser? erben von AbstractUser oder fügen ein OneToOneField hinzu. – wololoooo

+0

Ich persönlich benutze ein 'OneToOneField'. Es ist meistens persönliche Präferenz. – techydesigner