2010-04-23 84 views
2

形式看起来很简单:MultipleHiddenInput通过POST无法正确编码?

class MyForm(forms.Form): 
    ids = forms.MultipleChoiceField(widget=forms.MultipleHiddenInput()) 


def view(request): 
    ... 
    form = MyForm(initial={'ids': [o.id for o in queryset]}) 

这使我的HTML(它看起来不够好):

<form method="post" action="/foo/bar/"> 
<input type="hidden" name="ids" value="7720889" id="id_ids_0"> 
<input type="hidden" name="ids" value="7717962" id="id_ids_1"> 
<input type="hidden" name="ids" value="7717807" id="id_ids_2"> 
<input type="hidden" name="ids" value="7713584" id="id_ids_3"> 
<input type="hidden" name="ids" value="7712277" id="id_ids_4"> 
<input type="hidden" name="ids" value="7707475" id="id_ids_5"> 
<input type="hidden" name="ids" value="7707257" id="id_ids_6"> 
<input type="hidden" name="ids" value="7705271" id="id_ids_7"> 
<input type="hidden" name="ids" value="7704338" id="id_ids_8"> 
<input type="hidden" name="ids" value="7704137" id="id_ids_9"> 
<input type="hidden" name="ids" value="7695444" id="id_ids_10"> 
<input type="hidden" name="ids" value="7695242" id="id_ids_11"> 
<input type="hidden" name="ids" value="7690683" id="id_ids_12"> 
<input type="hidden" name="ids" value="7690431" id="id_ids_13"> 
<input type="hidden" name="ids" value="7689035" id="id_ids_14"> 
<input type="hidden" name="ids" value="7681230" id="id_ids_15"> 
<input type="hidden" name="ids" value="7679189" id="id_ids_16"> 
<input type="hidden" name="ids" value="7675315" id="id_ids_17"> 
<input type="hidden" name="ids" value="7667291" id="id_ids_18"> 
<input type="hidden" name="ids" value="7661162" id="id_ids_19"> 
<button type="submit">Test</button> 
</form> 

但是,在出现的POST,我只得到一个价值:

<QueryDict: {u'ids': [u'7661162']}> 

什么给?我究竟做错了什么?

+0

你如何定义你的查询集? – Dave 2010-04-23 23:28:32

回答

4

我相信你想要request.POST.getlist('ids')这应该返回所有为ID设置的值的列表。