Получение JSON-объектов, связанных с внешним ключом, в шаблоне Django

В настоящее время у меня есть ответ API, который кодирует отношения многие-к-одному в обе стороны, где один объект (называемый Sagas) имеет набор многих объектов (называемых Arcs), относящихся к нему:

//1 Saga contains many arcs in this way:

//GET Saga
[
    {
        "id": 1,
        "arc_set": [
            1,
            2,
            3,
            4,
            5,
            6
        ],
        "name": "East Blue",
        "description": "The East Blue Saga is the introductory saga of the series...",
        "startChapter": 1,
        "endChapter": 100
    },
]

//GET Arc
[
    {
        "id": 2,
        "name": "Orange Town",
        "description": "Luffy and his first crew member Zoro arrive at Orange Town where....",
        "startChapter": 8,
        "endChapter": 21,
        "saga": 1
    },
]

В основном я хочу иметь возможность пройти через arc_set в моем шаблоне django и взять связанные дуги с совпадающими идентификаторами. Это кажется простым, я просто не слишком хорошо знаком с синтаксисом шаблона django, который необходим

В настоящее время все, над чем я работаю, это код для цикла по массиву arc_set и получения значений id, но я не могу заставить работать даже это, не говоря уже о получении связанного объекта Arc:

{% for saga in sagas|dictsort:'id' %}
 {% for arc_key, arc_id in saga.arc_set.items|dictsort:'id' %}

но я не смог выполнить итерацию по данным arc_set, хотя выполнение <p> {{saga.arc_set}} </p> выводит массив всех значений

Удалось заставить его работать, просто перебирая все дуги в arc_set, а затем перебирая все дуги и проверяя, равны ли они, кажется, что много ненужных вложенных циклов, но это единственный способ, которым я смог заставить его работать в данный момент.

        {% for saga in sagas|dictsort:'order' %}
            <h1>{{saga.name}}</h1>
            {% for arc_id in saga.arc_set %}
                {% for arc in arcs|dictsort:'order'  %}
                    {% if arc.id == arc_id %}
                        <h2>{{ arc.name }} Arc</h2>
                    {% endif %}
                {% endfor %}
            {% endfor %}
        {% endfor %}
Вернуться на верх