Как сделать пагинацию при отправке POST-формы в Django View

Я хотел бы использовать пагинации в django при отправке метода post моему представлению:

При нажатии на submit он правильно возвращает значения, но когда я нажимаю "следующая страница", он возвращает пустую таблицу.

html:

<form action="{% url 'maintenance_issue_search' %}" method="POST" enctype="multipart/form-data" id="form" name="form">
{% csrf_token %}
<div style="text-align:left;" class="form-row">
    <div class="form-group mr-2">
        <label  for="date">Date Start</label>
        <input class="form-control" id="date" name="date" placeholder="YYYY-MM-DD" 
               value="{{ start_date }}" type="date" required>
    </div>
    <div class="form-group mr-2">
        <label for="date1">Date End</label>
        <input class="form-control" id="date1" name="date1" placeholder="YYYY-MM-DD" 
               value="{{ end_date }}"  type="date" required>
    </div>
    <div style="text-align:left;" class="form-group">
        <label for="select_status">Status</label>
        <select name="select_status" id="select_status" style="float:left;" class="form-control" multiple>
          <option value="Pending" selected>Pending</option>
          <option value="On Going">On Going</option>
          <option value="Consent OK">Consent Ok</option>
          <option value="Approve OK">Approve Ok</option>
          <option value="Completed">Completed</option>
          <option value="Not Approved">Not Approved</option>
        </select>
    </div>
    <section class="buttons">
        <div style="text-align:center;float:left" class="form-group">
            <div class="form-group col-md-6">
                <button type="submit" class="btn btn-info">Search </button>
            </div>
        </div>        
    </section>
</div>   
</form>

<!--Pagination-->
{% if issue_list.has_other_pages %}
<ul class="table-pagination">
    {% if issue_list.has_previous %}
        <li><a href="?page=1">First</a></li>
        <li><a href="?page={{ issue_list.previous_page_number }}">Previous</a></li>
    {% endif %}
    <span class="current">
        Page {{ issue_list.number }} of {{ issue_list.paginator.num_pages }}
    </span>
    {% if issue_list.has_next %}
        <li><a href="?page={{ issue_list.next_page_number }}">Next></a></li>
        <li><a href="?page={{ issue_list.paginator.num_pages }}">Last></a></li>
    {% endif %}
</ul>
{% endif %}

Просмотров:

def maintenance_issue_search(request):
    start_date = request.POST.get('date')    
    end_date = request.POST.get('date1')    
    status = request.POST.getlist('select_status')  

    all_issue_list = MaintenanceIssue.objects.filter(
        register_dt__date__range=(start_date, end_date), issue_status__in = status)\
        .order_by('-issue_status','register_dt')
    page = request.GET.get('page', 1)
    paginator = Paginator(all_issue_list, 10)
    try:
        issue_list = paginator.page(page)
    except PageNotAnInteger:
        issue_list = paginator.page(1)
    except EmptyPage:
        issue_list = paginator.page(paginator.num_pages)

    context = {'issue_list':issue_list,
               'start_date':start_date,
               'end_date':end_date,
               'status':status}
    return render(request, 'maintenance/maintenanceIssueList.html', context)

Пагинация не работает, когда я использую ее с post формой, потому что пагинация делается методом get. Какие-нибудь рекомендации по решению этой проблемы?

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