Tengo una aplicación Django y quiero mostrar casillas de verificación de opción múltiple en el perfil de un usuario. Luego podrán seleccionar múltiples elementos.Django Campo de selección múltiple/Casilla de verificación Seleccionar múltiple
Ésta es una versión simplificada de mi 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)
Y mi clase de formulario:
class ProfileForm(forms.ModelForm):
choice_field = forms.MultipleChoiceField(choices=SAMPLE_CHOICES, widget=forms.CheckboxSelectMultiple)
class Meta:
model = Profile
Y mi 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))
puedo ver que el POST solo envía un valor:
choice_field u'choice_three'
y lo local Vars params es el envío de una lista:
[u'choice_one', u'choice_two', u'choice_three']
Todos los campos del formulario de presentación correcta, pero cuando envío una POST, me sale un error
Error binding parameter 7 - probably unsupported type.
¿Necesito para procesar el campo de elección múltiple más en la vista? ¿Es correcto el tipo de campo del modelo? Cualquier ayuda o referencia sería muy apreciada.
¿Puedes publicar el seguimiento completo de la pila por el error que obtienes al realizar la POST? – ars
Posible duplicado de [Django Model MultipleChoice] (http://stackoverflow.com/questions/27440861/django-model-multiplechoice) – lechup