I am trying to figure out how to loop over deep nested object in Django template.
Here is my app's code
from django.db import models
class Unit(models.Model):
unit_number = models.PositiveIntegerField(blank=True, null=True, default=1) title = models.CharField(max_length=150, blank=True, null=True) scripture_ref = models.CharField(max_length=250, blank=True, null=True)
def __str__(self): return self.title
class Subsection(models.Model): title = models.CharField(max_length=150, blank=True, null=True) subsection_text = models.TextField(default='SUBSECTION TEXT') unit = models.ForeignKey(Unit, on_delete=models.CASCADE)
class Question(models.Model): question_text = models.CharField(max_length=2000, default='QUESTION TEXT') subsection = models.ForeignKey(Subsection, on_delete=models.CASCADE)
views.py
from django.shortcuts import get_object_or_404from django.shortcuts import render
from .models import Unit
def unitdetail(request, unit_id):
unit = get_object_or_404(Unit, pk=unit_id) return render(request, 'correspondence_course/unit_detail.html', {'unit': unit,})
unit_detail.html (template)
<h1>Урок {{ unit.unit_number }}</h1><h1>{{ unit.title }}</h1>
{% for subsection in unit.subsection_set.all %} <h2>{{ subsection.title }}</h2> <div>{{ subsection.subsection_text }}</div> {% for question in subsection. %} # this is just for reference. It does not work <p>{{ question.question_text }}</p> {% endfor %}{% endfor %}
As you can see I have three class models: Unit, Subsection with back relationship with Unit and then Question with back relationship with Subsection.
I managed to show in the template (see above) unit.title alone with subsection.title and subsection.subsection_text. It is all nice, but I cannot figure out how to loop over and display questions that are nested to Subsection(s).
Can you please help me to figure out how make it work?
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/2f0d18f4-57c1-4852-b510-114a9b7fffc6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment