Django Как одновременно использовать filter и pagination
Отфильтровывает нормально, но после перехода по пагинациям фильтр сбрасывается. Как можно исправить ?
views.py:
def music(request):
search_for_music = request.GET.get('search','')
if search_for_music:
musicBDA = musicBD.objects.filter(title__icontains=search_for_music)
paginator = Paginator(musicBDA, 1)
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
else:
musicBDA = musicBD.objects.all()
paginator = Paginator(musicBDA, 1)
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
return render(request, 'main/searchANIME.html', {'page_obj': page_obj, 'musicBDA': musicBDA})
models.py :
class musicBD(models.Model):
title = models.CharField('Название', max_length=300, blank=True)
modFoto = models.CharField('Ссылка на картинку', max_length=300, blank=True)
musiink = models.CharField('Ссылка на страницу', max_length=300, blank=True)
def __str__(self):
return self.title
html разметка :
<div class="cartinALL">
<h2 class="TABLname"></h2>
<hr class="liniyaTABLname">
{% for vb in page_obj %}
<a href="{{ vb.musiink }}" class="nameMUSIC" style="text-decoration: none">
<div class="musicBLOCK">
<img class="mainCarti" src="{{ vb.modFoto }}" alt="">
<h2 class="mainNAME"> {{ vb.title }}</h2>
</div>
</a>
<hr class="poloska">
{% endfor %}
<nav>
<ul>
{% for p in page_obj.paginator.page_range %}
<li class="page-num">
<a href="?page={{ p }}">{{ p }}</a>
</li>
{% endfor %}
</ul>
</nav>
</div>