Django Pagination не показывает данные после нажатия на следующую кнопку
У меня есть пагинация в приложении Django. Когда я загружаю страницу, данные отображаются нормально на первой странице, но когда я нажимаю на вторую кнопку пагинатора, данные не отображаются на следующей странице. Ниже приведен мой код:
viwes.py
def get_queryset(self, **kwargs):
# get query params
query = self.request.GET.get("q", "")
page = self.request.GET.get("page", "1")
size = self.request.GET.get("rows", "15")
cname = self.request.GET.getlist("cname", [])
tags = self.request.GET.getlist("tag", [])
filter_param = self.request.GET.getlist("filter_param", [])
# get size and set to default 15 if its not digit
if size.isdigit():
size = int(size)
else:
size = 15
# get response from elastic search
response = self.get_archives(query, page, size, cname, tags, filter_param)
response = list(iter(response))
for res in response:
if 'statement' in res:
ref = self.get_reference(res['statement'], response)
res['references'] = ref
p = Paginator(response, 2)
pages = p.get_page(page)
return pages
Список ответов передается во фронтенд, ответ содержит данные при отправке на первую страницу, но при повторной отправке запроса после нажатия на вторую кнопку список ответов передается пустым во фронтенд.
claims.html
<div class="row" style="padding-top: 30px;">
{%if archives.paginator.count %}
<div class="col" style="float: right;">
<nav aria-label="Page navigation">
<ul class="pagination">
{% if archives.has_previous %}
<li class="page-item">
<a class="page-link" href="?page=1&q={{query}}&size={{size}}&cname={{cname}}"
aria-label="Previous">
<span aria-hidden="true">«</span>
<span class="sr-only">begin</span>
</a>
</li> {% endif %}
{% for n in archives.paginator.page_range %}
{% if archives.number == n %}
<li class="page-item active">
<span class="page-link">{{ n }}<span class="sr-only">(current)</span></span>
</li>
{% elif n > archives.number|add:'-3' and n < archives.number|add:'3' %}
<li class="page-item"><a class="page-link"
href="?page={{ n }}&q={{query}}&size={{size}}&cname={{cname}}">{{ n }}</a></li>
{% endif %}
{% endfor %}
{% if archives.has_next %}
<li class="page-item">
<a class="page-link"
href="?page={{ archives.paginator.num_pages }}&q={{query}}&size={{size}}&cname={{cname}}"
aria-label="Next">
<span aria-hidden="true">»</span>
<span class="sr-only">end</span>
</a>
</li>
{% endif %} </ul>
</nav>
</div>
{%else%}
<h6 class="light-grey">No Results Found</h6>
{%endif%}
<div class="col">
<div class="float-right">
Showing results {{ archives.start_index }} to {{ archives.end_index }} of
{{ archives.paginator.count }}
</div>
</div>
</div>