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> 

当我在Firebug或Djangodebugging中查看POST数据时,我发现它只发送一个值。 我做错了什么或误解了一个概念?

 request.POST.getlist('services') 

只是供参考,我不得不使用:

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

因为省略[]会导致返回空白列表而不是正确的值。 我正在使用jQuery来获取多select元素的值,jQuery似乎是添加[]

小心! QueryDict中的getlist方法返回一个空列表,如果该键不存在。 它不会抛出exception。 http://bit.ly/MdgrUH

你可以得到预期的清单只是使用…

 request.POST.getlist('fiel_name') 

request.POST.getlist( '服务')

为我工作。 或者您可以将select框名称定义为列表