Получение 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 %}