Django中如何获取checkbox的值

表单内容:

<form action="" method="POST">
<input type="checkbox" value="1" name="check_box_list"/>1
<input type="checkbox" value="2" name="check_box_list"/>2
<input type="checkbox" value="3" name="check_box_list"/>3
<input type="submit" value="提交"/>
</form>

后台逻辑代码:Python code

def xxx(request):
# xxx 是方法的名字
check_box_list = request.POST.getlist('check_box_list')

注:页面选中的checkbox的value都在这check_box_list里面。

checkbox传值如:

<input name="checkbox" type="checkbox" value="abc" />

如果选中,传过去的值是abc;如果没选中则值是空
如果是一个组如:

<input name="checkbox" type="checkbox" value="a" />

<input name="checkbox" type="checkbox" value="b" />

<input name="checkbox" type="checkbox" value="c" />


传过去的值是 a,b,c

但现在的问题是:在django获取值并保存到数据库时,只保存了一个字段;如在上个例子中,就只保存了一个c,a和b都没了。

如何得到django中form表单里的复选框(多选框)的值( MultipleChoiceField )
直接写代码吧

CHECKBOX_CHOICES = (
   ('Value1','Value1'),
   ('Value2','Value2'),
)

class EditProfileForm(ModelForm):
   interest = forms.MultipleChoiceField(required=False, 
   widget=CheckboxSelectMultiple(), 
   choices=CHECKBOX_CHOICES,)

   def save(self, *args, **kwargs):
   u = self.instance.user
   u.interest = self.cleaned_data['interest']
   u.save()
   profile = super(EditProfileForm, self).save(*args,**kwargs)
   return profile

怎样得到如下数据呢

[u'value1', u'value2']

实现

u.interest = u','.join(self.cleaned_data['interest'])