[Answered ]-Django forloop inside forloop in Template

1👍

Define a model method as follows

class Stage(models.Model):
    name = models.CharField(max_length=128)

    def get_questions(self):
        return Question.objects.filter(stage=self)

    def __str__(self):
        return str(self.name)


class Question(models.Model):
    stage = models.ForeignKey(Stage, on_delete=models.PROTECT, related_name="questions")
    name = models.CharField(max_length=128)

    def __str__(self):
        return str(self.name)

Now you can loop them in the template as follows

{% for st in stages %}
    <div class="dropdown">
        <button class="dropbtn">{{st.name}}</button>
        <div class="dropdown-content">
            {% for qs in st.get_questions %}
              <a href="#">{{qs.name}}</a>
            {% endfor %}
        </div>
    </div>
{% endfor %}

Leave a comment