0

J'ai un modèle inhereting de modèle Auth.User, de cette façon: UsuarioWeb classe (User): # plus de champs Et dans Codeship lors des essais, il échoue avec cette erreur:utilisateur modèle hérité de django échec

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)

Je comprends l'erreur et il pourrait être résolu par un OneToOneField. Donc, une question est, Suis-je en train d'hériter de cette façon? Et autre, comment résoudre cette erreur de cette façon?

Répondre

1

Si vous créez un modèle utilisateur personnalisé et que vous ne souhaitez pas utiliser un OneToOneField, faites en sorte que la classe hérite de AbstractBaseUser à la place. Cette classe inclut uniquement les fonctions d'authentification. Si, toutefois, vous souhaitez inclure les champs de modèle User, faites en sorte que votre classe personnalisée hérite de AbstractUser. Les classes d'utilisateurs se trouvent au django.contrib.auth.models.

+0

merci beaucoup. Donc, je hérite du mauvais modèle. – wololoooo

+0

De quelle façon pensez-vous que c'est mieux? hérite de AbstractUser ou ajoute un OneToOneField. – wololoooo

+0

J'utilise personnellement un 'OneToOneField'. C'est surtout la préférence personnelle. – techydesigner