jika melakukan filter set jika result melibihi batas range page maka halaman selanjutnya filter set tidak bekerja melainkan hanya berfungsi sebagai pagination dengan query set saja, filter terabaikan maka dari itu dibutuhkan beberapa script tambahan untuk mengatasinya
views.py
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def homedefault(request):
posts = Issue.objects.all().order_by('-ts')
categories = Category.objects.order_by().values().distinct()
myFilter = IssueFilter(request.GET, queryset=Issue.objects.all().order_by('-ts'))
postfilter = myFilter.qs
totalfilter = myFilter.qs.count()
notfound = Issue.objects.filter(status=None)
# print('Not Found: ',notfound)
paginator = Paginator(myFilter.qs, 6)
page = request.GET.get('page')
new_request = ''
for i in request.GET:
if i != 'page':
val = request.GET.get(i)
new_request += f"&{i}={val}"
# Handle out of range and invalid page numbers:
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
context = {
'slacks': posts,
'categories':categories,
'new_request':new_request,
}
return render(request, 'issue/homedefault.html', context)kemudian padah homedefault.html pagination dengan script berikut:
maka hasilnya jika klik page kedua dengan model filter set

jika tanpa modifikasi filter set pagination
