Django кнопка со ссылкой на предварительно отфильтрованные данные

Hej!

У меня есть несколько представлений, некоторые с таблицами результатов и некоторые детальные представления. Из детальных представлений должны быть ссылки на другие детальные представления (что работает) и на некоторые таблицы результатов с предварительно заполненными формами/отфильтрованными результатами. Например, после имени, указанного в детальном представлении.

При нажатии на кнопку я хочу получить перенаправление в таблицу результатов, уже отфильтрованную по имени (например) родительского учреждения, указанного в детальном представлении. Но я хочу использовать один и тот же шаблон для всех детальных представлений (каждое учреждение получает детальное представление), поэтому он должен быть универсальным, а не жестко закодированным.

Кто-нибудь знает, как я могу этого добиться? Я совсем запутался и не могу найти хорошее решение.

# forms.py

class SearchInstitutionsForm(forms.Form):
    name = forms.CharField(
        label="Name",
        required=False,
    )
# views.py

def search_institution(request):
        if request.method == "POST":
        # create a form instance and populate it with data from the request:
        form = SearchInstitutionsForm(request.POST)
        if form.is_valid():
            query = institution_filter_query(form)
            context = {
                "result_data": serialize(query),
                "form": form,
                "show_form": False,
            }
            return render(request, "stakeholders/search_form.html", context)
    else:
        form = SearchInstitutionsForm()


class InstitutionDetail(DetailView):
    model = Institution

    def get(self, request, *args, **kwargs):
        institution = get_object_or_404(Institution, pk=kwargs['pk'])
        context = {'institution': institution}
        return render(request, 'stakeholders/institution_detail.html', context)
# query.py

def institution_filter_query(form):
    query = Institution.objects.all()
    if form.cleaned_data["name"]:
        for name in form.cleaned_data["name"]:
            name_query = (
                name_query
                | Institution.objects.filter(name__contains=name)
                | Institution.objects.filter(abbreviation__contains=name)
            )
        query = query.intersection(name_query)

    return query
<!-- search_form.html -->

<div class="row collapse {% if show_form %} show  {% endif %}" id="form-holder">
    <div class="col">
        <form method="post">
          {{ form.as_p }}
          {% csrf_token %}
          <input type="submit" value="Search">
        </form>
    </div>
</div>

<div class="table-holder">
    <div id="result-table" class="h-100 w-100"></div>
</div>

Таблица результатов сама по себе отображается в файле javascript. При необходимости я могу добавить и это.

<!-- institution_detail.html -->

<h3>Institution</h3>
<p><b>Name: </b>{{institution.name}}</p>
<p><b>Abbreviation: </b>{{institution.abbreviation}}</p>
<p><b>Parent institution: </b>{{institution.parent_institution}}</p>

<a class="btn btn-sm btn-info" href="{% url 'stakeholders:institution-view' %}"><i>(filtered)</i> Institutions</a></td>

Любая помощь приветствуется! Если вы знаете, где я должен искать, я не против! У меня есть другое приложение с разработанной формой ввода с предварительно заполненными данными, но это, похоже, не работает здесь.

Наилучшие пожелания! :)

Вернуться на верх