Чекбокс getlist возвращает максимум два значения из запроса GET в django
У меня проблема с функцией getlist в Django. В частности, у меня есть несколько чекбоксов, перечисленных с помощью цикла for. Форма написана на HTML без использования Django Forms. Проблема в том, что функция getlist возвращает максимум два значения, даже если я отмечаю более двух чекбоксов. Где может быть ошибка?
if 'category' in request.GET:
print('Category in request GET.')
if len(request.GET.getlist('category')) == 1:
print(request.GET.getlist('category'))
filters['category_id'] = Category.objects.get(
slug='-'.join(request.GET.get('category').lower().split())).id
if len(Property.objects.filter(**filters)) == 0:
queryset.clear()
messages.info(request=request, message='No Results.')
return redirect(to='properties')
else:
request.session['sorted_type'] = 'Newest Properties'
request.session['filters'] = filters
context.update(sidebar_context(**filters))
queryset.clear()
queryset.extend(Property.objects.filter(**filters))
else:
print('More than one Category.')
filters['category__pk__in'] = [Category.objects.get(slug='-'.join(obj.lower().split())).id for
obj in request.GET.getlist('category')]
if len(Property.objects.filter(**filters)) == 0:
queryset.clear()
messages.info(request=request, message='No Results.')
return redirect(to='properties')
else:
print(request.GET.getlist('category'))
request.session['sorted_type'] = 'Newest Properties'
request.session['filters'] = filters
context.update(sidebar_context(**filters))
queryset.clear()
queryset.extend(Property.objects.filter(**filters))
<form data-properties-filters-form class="properties__filters__filters-form theme-form" method="get" action="{% url 'properties' %}">
<div style="opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1;">
<label>leave this field blank to prove your humanity
<input type="text" class="url" autocomplete="off" tabindex="-1">
</label>
</div>
{% if categories %}
<div class="properties__filters__title h4">Category</div>
<div class="form__row">
<div class="form__field">
<div data-change-category class="form__input-wrap form__checkbox-wrapper">
{% for category in categories %}
<label>
<input data-checkbox data-input type="checkbox" name="category" value="{{ category|lower }}"{% if category|lower in request.GET.category %}checked{% endif %}>
<div class="checkbox__label">{{ category }}</div>
</label>
{% endfor %}
</div>
</div>
</div>
<hr>
{% endif %}