Re: Django session + dynamic form + model form
On Wed, Aug 3, 2011 at 4:57 AM, sasa1688@gmail.com <sasa1688@gmail.com> wrote:
> Thank you, DR. But I tried that before and it did not work for some reason.
> It basically skips "if Answer.is_valid():" and goes to "else".
>
> voss
>
I think this is because you are abusing your model form, and hence it
is not valid.
You should not be setting choices on a ModelMultipleChoiceField, you
should be supplying a queryset that describes the choices you want.
When validating the form, django will check that the submitted values
are contained in the ModelMultipleChoiceField's queryset.
Furthermore, ModelMultipleChoiceField will normally have id ->
description mapping, where as you have description -> description, eg
it should generate this HTML - <option value="2">London</option>,
where as you have it generating <option
value="London">London</option>. It's just wrong. I guess you are
trying to do this to control the label generated - you should be doing
this[1].
So recap:
Don't assign choices to a ModelMultipleChoiceField, assign a queryset
Use a custom ModelMultipleChoiceField subclass to control how each
model is displayed.
Cheers
Tom
[1] https://docs.djangoproject.com/en/1.3/ref/forms/fields/#modelchoicefield
I can't link to the block of text directly, look for this:
"""
The __unicode__ method of the model will be called to generate string
representations of the objects for use in the field's choices; to
provide customized representations, subclass ModelChoiceField and
override label_from_instance. This method will receive a model object,
and should return a string suitable for representing it.
"""
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home