Как добавить фильтр отображения на кверисет, полученный на странице с опциями фильтрации на сайдбаре?

Это представление на основе функций для страницы

q=Q()
context={'p_qtn':None,'h_qtn':None,'hu_qtn':None}
p_qtn=request.GET.get('check1',None)
h_qtn=request.GET.get('check3',None)
hu_qtn=request.GET.get('check2',None)
if p_qtn:
    q = q & Q(PQtn="None")
    context['p_qtn']=True
if h_qtn:
    q = q & Q(HQtn="None")
    context['h_qtn']=True
if hu_qtn:
    q = q & Q(HuQtn="None")
    context['hu_qtn']=True
vessel=request.GET['vessel']
query_args={ f'{vessel}__exact':True}
questions = (
    Qtion.objects
    .exclude(q)
    .filter(**query_args)
)
context['questions']=questions
return render(request,'ques.html',context)

код класса:

class Qtion(models.Model):
    Chapter=models.CharField(max_length=3)
    Stext=models.CharField(max_length=100)
    Ftext=models.CharField(max_length=400)
    Qno=models.CharField(max_length=10)
    HQtn=models.CharField(max_length=30)
    PQtn=models.CharField(max_length=30)
    HuQtn=models.CharField(max_length=30)
    Qtype=models.CharField(max_length=10)
    Chemical=models.BooleanField()
    LNG=models.BooleanField()
    LPG=models.BooleanField()
    Oil=models.BooleanField()
    Conditional=models.BooleanField()

Я хочу добавить фильтр отображения по главам на сайдбаре.

Код страницы:

Я хочу, чтобы боковая панель не перенаправляла, когда я ее использую. Я новичок, поэтому не знаю наверняка, похоже, что мне придется использовать javascript и заставить его взаимодействовать с django, я полагаю. При поиске ответов в интернете много мест показывают ajax, и я не уверен, что это то, что мне нужно реализовать.

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