我有一个Django应用程序,并希望在用户的配置文件中显示多选复选框。他们将能够选择多个项目。Django多选字段/复选框选择多个
这是我的models.py的简化版本:
from profiles.choices import SAMPLE_CHOICES
class Profile(models.Model):
user = models.ForeignKey(User, unique=True, verbose_name_('user'))
choice_field = models.CharField(_('Some choices...'), choices=SAMPLE_CHOICES, max_length=50)
我的表单类:
class ProfileForm(forms.ModelForm):
choice_field = forms.MultipleChoiceField(choices=SAMPLE_CHOICES, widget=forms.CheckboxSelectMultiple)
class Meta:
model = Profile
而且我views.py:
if request.method == "POST":
profile_form = form_class(request.POST, instance=profile)
if profile_form.is_valid():
...
profile.save()
return render_to_response(template_name, {"profile_form": profile_form,}, context_instance=RequestContext(request))
我可以看到该POST仅发送一个值:
choice_field u'choice_three'
个
而且本地变量params为发送列表:
[u'choice_one', u'choice_two', u'choice_three']
所有表单字段的显示是正确的,但是当我提出一个帖子,我得到一个错误
Error binding parameter 7 - probably unsupported type.
我需要在视图中进一步处理多选字段?模型字段类型是否正确?任何帮助或引用将不胜感激。
您可以发布完整的堆栈跟踪,以获取发布时的错误吗? – ars 2010-04-28 04:32:38
[Django Model MultipleChoice]的可能重复(http://stackoverflow.com/questions/27440861/django-model-multiplechoice) – lechup 2016-08-16 20:19:36