Je suis nouveau à Django et j'ai un problème que je ne pouvais pas résoudre. J'essaie d'afficher une question spécifique et un autre attribut associé de mon modèle de questions basé sur un champ du modèle participant. Le problème ici est que cela va directement à la déclaration d'autre même lorsque la condition est vraie.Je essayé d'imprimer (participant.condition) et cela fonctionne donc je ne sais pas pourquoi cela ne fonctionne pas avec la déclaration IF. Mes modèles comme suit: p>
3 Réponses :
Vous devez modifier ceci: à: p>
Essayez Votre instruction code> Imprimer code> Les affiche comme apparemment étant identique car vous avez défini comment présenter les instances code> de condition code> en tant que chaînes avec votre condition code> est une clé étrangère, pas une chaîne. Vous comparez-le contre
'LPN' code>, mais aucune instance de votre modèle code> code> sera égale à cette chaîne. P>
si participant.condition.name == 'LPN': code> Pour comparer le champ Nom sur la condition
Condition code> à cette chaîne. P>
__ str __ code> - Il imprimera le nom de l'instance code> code>, mais cela ne signifie pas que la valeur
code> est en fait égale à cette chaîne. p>
Vous devrez peut-être utiliser
from .models import Participant participant = Participant.objects.get(user = request.user)
déjà sur mon point de vue et que le participant a été créé dans une autre vue
Django interroge la base de données au moment de la rendu, si elle est différente, elle ne sera pas accessible dans une autre, vous devez la questionner à chaque fois que vous en avez besoin.
Est-ce que
si participant.condition.name == 'LPN': code> travail?