Bonne pratique avec le modèle utilisateur Django
Re,
Question toute simple.
Lorsqu'on appelle le modèle utilsiateur.
Il vaut mieux faire ça : ?
class ThinkerCreation(UserCreationForm):
class Meta:
model = AUTH_USER_MODEL
Ou : ?
class ThinkerCreation(UserCreationForm):
class Meta:
model = get_user_model()
Alors pour moi c'est la même chose.
La question est certainement inutile lol.
Mais c'est vraiment une question de bonne pratique.
Merci ^^
Salut Gab !
Alors le choix entre AUTH_USER_MODEL et get_user_model dépend un peu du contexte même si bien souvent ça revient au même.
AUTH_USER_MODEL c'est une chaîne de caractères qui pointe vers le modèle de l'utilisateur défini dans tes paramètres (settings.py). C'est utile surtout lorsque tu définis des relations avec le modèle d'utilisateur, comme des clés étrangères ou des relations ManyToMany, car ces relations nécessitent le nom du modèle au moment de la migration de la base de données.
get_user_model c'est une fonction qui renvoie le modèle d'utilisateur. Du coup tu te retrouves avec l'objet qui correspond à ton modèle utilisateur (et pas uniquement une str).
En termes de meilleures pratiques, l'approche générale est d'utiliser AUTH_USER_MODEL lors de la définition de relations de modèle, et get_user_model lorsque tu travailles avec le modèle d'utilisateur dans le code.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte