Django Python HTMX - Пагинация не работает на нескольких таблицах в одном шаблоне

Я пытаюсь построить поиск, который показывает четыре таблицы с четырьмя различными моделями. На этих нескольких таблицах у меня возникла проблема с бесконечной прокруткой. Вывод не обращает внимания на переменную "paginate_by=5", поэтому он просто показывает каждый результат. Кроме того, пагинация использует только первый элемент get_template_names. Поэтому когда я прокручиваю вниз, он заполняет таблицы с порядковым номером.

Мой views.py:

**class searchView(ListView):
    ordering = ['-id']
    template_name = 'search_items.html'
    paginate_by = 5
    model = Rooms

    def get_template_names(self):
        if self.request.htmx:
            return ['single-rows/search_orders_single_row.html', 'single-rows/search_products_single_row.html', 'single-rows/search_rooms_single_row.html', 'single-rows/search_suppliers_single_row.html']
        return 'search_items.html'
        

    def get_context_data(self, **kwargs):
        searchedItem = self.request.GET.get('searchedItem',default="")
        context = super(searchView, self).get_context_data(**kwargs)
        context['all_orders'] = Orders.objects.all()
        context['all_products'] = Products.objects.all()
        context['all_suppliers'] = Suppliers.objects.all()
        context['rooms'] = Rooms.objects.filter(Q(room__contains=searchedItem) | Q(cabinetNumber__contains=searchedItem) | Q(shelf__contains=searchedItem))  #filtered_rooms get the results from the search in the database
        context['products'] = Products.objects.filter(Q(designation__contains=searchedItem) | Q(category__contains=searchedItem))
        context['orders'] = Orders.objects.filter(Q(product__contains=searchedItem) | Q(supplier__contains=searchedItem))
        context['suppliers'] = Suppliers.objects.filter(Q(s_name__contains = searchedItem))
        context['searchedItem'] = searchedItem
        return context**

мой поиск-шаблон:

Включения одинаковы, вот один из примеров:

{% for instance in products %}
{% if forloop.last and page_obj.has_next %}
<tr hx-get="{% url 'search-item' %}?page={{ page_obj.number|add:1 }}" hx-trigger="intersect once" hx-swap="afterend" hx-target="this">
    {% else %}
<tr>
{% endif %}
    <td>{{instance.category}}</td>
    <td><a href="{% url 'detail-product' instance.id %}" id="articleRef">{{instance.designation}}</a></td>
    <td>Fehlt noch</td>
    <td>
        <div class="edit-and-delete-button">
            <center><a href="{% url 'delete-product' instance.id %}" id="deleteButton">Löschen</a></center>
            <center><a href="{% url 'edit-product' instance.id %}" id="editButton">Bearbeiten</a></center>
        </div>
    </td>
</tr>
{% endfor %}

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

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