Django forloop внутри forloop в шаблоне

Здравствуйте, я пытаюсь сделать выпадающее меню в Navbar с помощью кверисетов. Я пытался сделать это с помощью двух наборов запросов, отправленных в html шаблон ("этапы", "вопросы"), которые связаны друг с другом по ключу (id , stage_id), но я не могу понять, почему forloops не может работать вместе. Моя вторая попытка была с передачей данных в json в javascript и сделать это с js QuerySelector, но django querysets не JSON serializable. Есть предложения, как сделать это, пожалуйста,

views.py

def edit_pages(request, gameid):
    stages = Stage.objects.filter(game_id=gameid)
    print(stages)
    questions = []
    for st in stages:
        questions = chain(questions,Question.objects.filter(stage_id=st.id))
    print(questions)
        
    return render(request, "homeSuperuser/edit_pages.html",{'stages': stages, 'questions': questions})

html

<body>
        <div class="topnav">
            {% for st in stages %}
                <div class="dropdown">
                    <button class="dropbtn">{{st.stage_name}}</button>
                    <div class="dropdown-content">
                        {% for qs in questions %}
                            {% if qs.stage_id == st.id %}
                                <a href="#">{{qs.question_name}}</a>
                            {% endif %}
                        {% endfor %}
                    </div>
                </div>
            {% endfor %}
        </div>
    </body>

Определите метод модели следующим образом

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)

Теперь вы можете зациклить их в шаблоне следующим образом

{% for st in stages %}
    <div class="dropdown">
        <button class="dropbtn">{{st.stage_name}}</button>
        <div class="dropdown-content">
            {% for qs in st.get_questions %}
                {% if qs.stage_id == st.id %}
                    <a href="#">{{qs.question_name}}</a>
                {% endif %}
            {% endfor %}
        </div>
    </div>
{% endfor %}
Вернуться на верх