Как передать элемент и связанный с ним набор форм из представления в шаблон в Django?
Я понимаю, как передать несколько элементов в представлениях в шаблон, вы просто передаете несколько элементов в контексте.
Я пытаюсь научиться создавать приложение с контрольным списком для обучения и иметь набор форм для ссылок, связанных с каждым пунктом для обучения. Таким образом, вы можете сохранить несколько ссылок на youtube-инструкции для каждого пункта.
Но допустим, что я передаю запрос элементов. И для каждого элемента создан свой набор форм. Как мне передать связанный набор форм вместе с элементом?
Используя chatgpt и google, я пришел к следующему
def currentchecklist(request):
items = Item.objects.filter(user=request.user, datecompleted__isnull=True)
courses = request.user.checklist_courses.all()
LinkFormSet = inlineformset_factory(Item, Link, fields=('url',), extra=1)
formsets = []
for item in items:
formsets.append((item, LinkFormSet(instance=item)))
return render(request, "BJJApp/currentchecklist.html", {"items": items,"courses":
courses, "formsets": formsets})
и затем в шаблоне у меня есть вот это
{% for item, formset in formsets %}
<div class="formset" id="linkform-{{ item.id }}" style="display: none;">
<label for="title">Links for {{ item.title }}</label>
{{ formset.as_p }}
</div>
Этот код пока работает для отображения набора форм, дальше я работаю над сохранением ссылок.
Я просто хотел спросить, является ли это лучшим способом доступа к элементу и связанному с ним набору форм? Используя список кортежей? Или есть лучший способ?
Спасибо!