Dans mon projet django j'ai 2 variations d'utilisateurs. Une sous classe classe User de django.auth et la seconde utilise presque les mêmes champs mais n'est pas un vrai utilisateur (donc elle n'hérite pas de l'utilisateur). Existe-t-il un moyen de créer une classe FieldUser (qui stocke des champs uniquement) et pour la sous-classe RealUser à la fois FieldUser et User, mais pour la sous-classe FakeUser seulement FieldUser?Python/django hérite de 2 classes
2
A
Répondre
4
sûr, j'ai utilisé l'héritage multiple dans les modèles django, ça fonctionne très bien.
sonne comme vous voulez configurer une classe abstraite pour FieldUser:
class FieldUser(models.Model):
field1 = models.IntegerField()
field2 = models.CharField() #etc
class Meta:
abstract=True #abstract class does not create a db table
class RealUser(FieldUser, auth.User):
pass #abstract nature is not inherited, will create its own table to go with the user table
class FakeUser(FieldUser):
pass #again, will create its own table
superbe! C'est ce que j'essayais d'accomplir! – crivateos
et quelques docs avec cela: https://docs.djangoproject.com/fr/1.8/topics/db/models/#multiple-inheritance –