Ich habe eine Django-Anwendung und möchte Multiple-Choice-Checkboxen in einem Benutzerprofil anzeigen. Sie können dann mehrere Elemente auswählen.Django Multiple Choice Feld/Checkbox Mehrere auswählen
Dies ist eine vereinfachte Version meiner 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)
Und meine Form-Klasse:
class ProfileForm(forms.ModelForm):
choice_field = forms.MultipleChoiceField(choices=SAMPLE_CHOICES, widget=forms.CheckboxSelectMultiple)
class Meta:
model = Profile
Und mein 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))
ich sehen kann dass der POST nur einen Wert sendet:
choice_field u'choice_three'
Und die lokale Vars params sendet eine Liste:
[u'choice_one', u'choice_two', u'choice_three']
alle Formularfelder korrekt angezeigt, aber wenn ich einen Post einreichen, erhalte ich einen Fehler
Error binding parameter 7 - probably unsupported type.
Muss ich das Multiple-Choice-Feld in der Ansicht weiter zu bearbeiten? Ist der Modellfeldtyp korrekt? Jede Hilfe oder Referenzen würden sehr geschätzt werden.
Können Sie den vollständigen Stack-Trace für den Fehler, den Sie beim POSTing erhalten, posten? – ars
Mögliches Duplikat von [Django Model MultipleChoice] (http://stackoverflow.com/questions/27440861/django-model-multiplechoice) – lechup