2015-04-03 36 views
0

我想要一个复选框的形式,其中可以检查多个选项。为此,我有:Django窗体:MultipleChoiceField错误太多的值来解压

forms.py

class ServiceForm(forms.Form): 
services = ServiceList.objects.all().values('service_name') 

choice = [] 
for x in services: 
    choice.extend(x.values()) 

service_id = forms.MultipleChoiceField(required=True, 
             widget=forms.CheckboxSelectMultiple, choices=choice) 

views.py

def save_data_into_temp(request): 

if request.method == 'POST': 
    detail_form = ServiceForm(data=request.POST) 
    if detail_form.is_valid(): 

     detail = detail_form.save(commit=False) 

     detail.save() 

但是这是给我的错误

too many values to unpack 

回溯:在line 58 错误

58 {{ service_form }} 
+0

哪一行会抛出错误? – 2015-04-03 20:35:17

回答

1

不确定在没有完整回溯的情况下哪条线路出现错误。如果您打印choice ..你会得到什么?我会生成choice像这样:

service_choice = tuple(
    [(choice, choice) for choice in 
     ServiceList.objects.values_list('service_name', flat=True)])