Как добавить фильтр отображения на кверисет, полученный на странице с опциями фильтрации на сайдбаре?
Это представление на основе функций для страницы
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, и я не уверен, что это то, что мне нужно реализовать.