How can I pass an initial value for a field to a model form. I have something like the following code
class ScreeningForm(forms.ModelForm):
class Meta:
As your ModelForm is bound to the Person-Model, you could either pass a Person-Instance:
form = PersonForm(instance=Person.objects.get(foo=bar)
or overwrite the ModelForm's init-method:
class PersonForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(PersonForm, self).__init__(*args, **kwargs)
self.fields['foo'].value = 'bar'
class Meta:
model = Person
exclude = ['name']
This is untested. I'm not sure whether "value" is correct, I'm not having a Django-Installation here, but basically this is the way it works.