@JonGalt

Почему не работает запрос?

Делаю форму для фильтрации данных в таблице
<form action="javascript:void(null);" onclick="ajax_post('{% url 'design_filter' %}', '#filter_form', '#info')" id="filter_form">
        {% csrf_token %}
        <h4>Объекты</h4>
        <div><label for=""><input onclick="this.form.submit()" type="checkbox" name="object" value="1">Терминал В</label></div>
        <div><label for=""><input onclick="this.form.submit()" type="checkbox" name="object" value="2">МТП</label></div>
        <div><label for=""><input onclick="this.form.submit()" type="checkbox" name="object" value="3">Карго</label></div>
    </form>


view
class DesignFilterView(TemplateView):
    template_name = 'design/inc-design-list.html'

    def get_context_data(self, **kwargs):
        context = super(DesignFilterView, self).get_context_data(**kwargs)
        return context

    def post(self, *args):
        context = self.get_context_data()
        objects = self.request.POST['object']
        print(self.request.POST)
        print(objects)
        designs = Design.objects.filter(object__in=objects)
        context['designs'] = designs
        return self.render_to_response(context)


В реквесте приходит
QueryDict: {'csrfmiddlewaretoken': ['9EOgZoNiYOUnDW9iNxmA66VopasYmj2Z4ITMoMwOJWdR6BAH0LInBqYtqAJBo6vA'], 'object': ['2', '3']}
Но если я беру self.request.POST['object'], то почему-то остается только одно значение вместо списка из двух значений.
Что не так?
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Astrohas
@Astrohas
Python/Django Developer
querydict это не простой dict, он возвращает последнее значения. Для того чтобы извлечь все значения используйте self.POST.getlist('key')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы