Pour créer un nouveau modèle d'utilisateur dans Django 1.5.x, il existe deux approches :
- Hériter de
AbstractUser
qui est le modèle d'utilisateur par défaut que vous obtenez, de cette façon vous pouvez l'étendre avec tous les attributs que vous voulez. Cependant, si vous voulez supprimer n'importe quel domaine, c'est techniquement possible mais non recommandé même si c'est possible, c'est contraire aux principes de la POO, je crois. Donc, si vous souhaitez modifier le modèle d'utilisateur actuel, il y a la deuxième approche. - Hériter de
AbstractBaseUser
qui, par en regardant le code fournit une fonctionnalité très basique. Vous ne bénéficierez pas de tous les avantages des permissions, de la recherche de profils et de la construction d'urls absolues, à moins que vous n'en ayez besoin. vous le copiez à partir du modèle d'utilisateur par défaut de Django.
Ce qui précède est ma compréhension de la situation. Corrigez-moi si j'ai tort, mais cela ne signifie-t-il pas que si je veux simplement supprimer l'élément username
du modèle puisque je n'en aurai pas besoin du tout, je dois copier-coller le code du modèle fourni dans le framework et hériter de AbstractBaseUser
y PermissionsMixin
? Pour une chose aussi simple, cette approche ne me semble pas très jolie, et elle est un peu étrange car je suis certain que le modèle d'utilisateur personnalisé a été introduit en grande partie à cause du cas d'utilisation populaire de email
comme identifiant de l'utilisateur au lieu de username
.
Vos réflexions (et corrections) s'il vous plaît.