Friday, May 6, 2016

Re: Passing hidden foreign key to form as initial value

Can somebody explain why did occurs with widget=forms.HiddenInput ?

Thank's.




Em quarta-feira, 31 de março de 2010 10:20:48 UTC-3, Phoebe Bright escreveu:
Displayed fields resolve as expected, hidden fields cause errors.

This works:

in the model
CourseBook has a foreign key to Course

In the view:

course = Course.objects.get(pk=whatever)
form = CouseBook(initial = {'course': course})


in the Form:

class CourseBook(ModelForm):
    class Meta:
        model = CourseBooking


The web page now displays a picklist of courses with the initial value
highlighted.  I can now do a form.save() no problem.

However, if I make the course a hidden field, which is what I want.

class CourseBook(ModelForm):
    course = forms.CharField(widget=forms.HiddenInput())

    class Meta:
        model = CourseBooking

then when I come to save() I get a ValueError, unable to assign "My
course"  etc. as it tries to put the name of the course into the
foreign key instead of a course instance.

I can work around this putting a save method on the form, but it seems
to me django should resolve this for me????

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/3628bd01-59b2-4291-94f5-072d6de9f7c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment