1

I'm trying to display the value of the model Enigme related by a ForeignKey on the model Salle.

These are the classes :

class Escape(models.Model): name = models.CharField(max_length=100, unique=False) def __str__(self): return self.name class Salle(models.Model): salle = models.CharField(max_length=100, unique=False) escape = models.ForeignKey(Escape, on_delete=models.CASCADE) def __str__(self): return self.salle class Enigme(models.Model): enigme_name = models.CharField(max_length=100, unique=False) salle = models.ForeignKey(Salle, on_delete=models.CASCADE) def __str__(self): return self.enigme_name 

My view file :

def salle_escape(request): escape_named = 'Test' list_salle = Salle.objects.filter(escape__name=escape_named) context = { 'escape' : Escape.objects.get(name=escape_named), 'salle' : list_salle, } return render(request, 'chat/salle_escape.html', context) 

This is my template file :

<!-- chat/templates/chat/room.html --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Chat Room</title> </head> <body> <h1>Test</h1> <h2>Liste des salles</h2> <ul> {% for s in salle %} <li>{{ s.salle }} </li> <ul> {% for enigme in s.enigme_set.all %} <li>{{ engime.enigme_name }}</li> {% endfor %} </ul> {% endfor %} </ul> </body> </html> 

What I'm getting, it is empty bullets : enter image description here

Would you have an idea about my issue ?

2
  • Does your Enigme objects have an enigme_name that is not the empty string? Commented Jan 7, 2019 at 20:44
  • Thank you @WillemVanOnsem, I can confirm you is not empty. If I try in the python shell, the enigme_names appear. Commented Jan 7, 2019 at 20:47

1 Answer 1

3
{% for enigme in s.enigme_set.all %} <li>{{ engime.enigme_name }}</li> {% endfor %} 

enigme != engime

you incorrectly wrote the name of the object

Sign up to request clarification or add additional context in comments.

1 Comment

YOU-ARE-THE-BEST !! And shame on me .... Thank you really much, several hours I'm looking for the issue. Thanks a lot !

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.