Make a foreign key field in a django form read-only, and still enable the form to be submitted

django, forms, html, readonly

Solution

I don't know the Django or Python syntax, however, an input field of type="hidden" might be what you're looking for. If you wanted to still display the value using a disabled field, you could do that too, and rely on the hidden field for the actual value.

Problem

How do I make a foreign key field in a form read only but still allow this field to be recognized as valid once the form is submitted? According to W3C, disabled fields are left out once the form is submitted....using the code below, I can set the field as disabled, thus readonly, but my form doesn't go through ``` def __init__(self, *args, **kwargs): super(IssuesForm, self).__init__(*args, **kwargs) self.fields['vehicle'].widget.attrs['readonly'] = True ``` Ideas....?

Original source