Django : importer User pour la ForeignKey
Bonsoir,
1ere question :
Donc pour importer le modèle User j'ai vu deux façons de faire.
C'est vraiment 2 choix possibles ?
Il n'est pas préférable d'utiliser une façon plutôt que l'autre ?
Si oui pk svp ?
récupérer avec le get user model
from django.contrib.auth import get_user_model
from django.db import models
# on récupère le modele d'utilisateur de notre projet
User = get_user_model()
ou importer directement le modèle
from django.contrib.auth.models import User
2eme question : (author correspond à un champs de modèle, ForeignKeys dans mon cas)
Dans le html on fait :
{{ post.author.username }}
Pourquoi ne pas faire simplement ? :
{{ post.author}}
J'ai un peu de mal à voir la différence.
Merci ^^
Hello Gabriel,
pour ta première question:
obtenir le user avec get_user_model() est utile dans le cas où tu veux utiliser un model custom pour ton user que tu as définis.
La seconde option fait directement appel explicitement au modèle User built in de Django.
L'intérêt de la première option c'est que si tu n'a pas de model User custom, elle fera appel au model User de base. On voit beaucoup sur les forums que dans ce cas là autant utiliser cette méthode et Thibault le dit aussi dans sa vidéo.
Pour ta deuxième question, les 2 fonctionnent dans ce cas. Je préfère de loin la première option qui est beaucoup plus lisible et explicite ... zen ... =D.
Merci
L'intérêt de la première option c'est que si tu n'a pas de model User custom, elle fera appel au model User de base. On voit beaucoup sur les forums que dans ce cas là autant utiliser cette méthode et Thibault le dit aussi dans sa vidéo.
Donc la première option, si j'ai un modèle user custom ça fera appel à lui. Sinon dans tous les cas ça apelera le user built in si je n'ai pas de user custom ?
Exactement !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte