Подтвердить что ты не робот

Django: использование <select multiple> и POST

Я использую что-то подобное в своем шаблоне

<select multiple="multiple"  name="services" id="services" size="5">
    {% for service in services %}
        <option value="{{service.id}}">{{service}}</option>
    {% endfor %}
</select>

Когда я просматриваю данные POST в Firebug или отладке Django, я вижу, что он отправляет только одно значение. Я что-то делаю неправильно или неправильно понимаю концепцию?

4b9b3361

Ответ 1

request.POST.getlist('services')

Ответ 2

Просто FYI, мне пришлось использовать:

    list = request.POST.getlist("items[ ]")

поскольку удаление [] привело к возврату пустого списка вместо правильных значений. Я использую jQuery для извлечения значений нескольких элементов select, а jQuery, похоже, добавляет []

Ответ 3

Остерегайтесь! Метод getlist из QueryDict возвращает пустой список, если ключ не существует. Это не исключение. http://bit.ly/MdgrUH

Ответ 4

вы можете получить ожидаемый список, просто используя...

request.POST.getlist('fiel_name')

Ответ 5

request.POST.getlist( 'услуги')

Работал для меня. или вы можете определить имя окна выбора как список