问题
I am adding an extra field to a Django ModelForm like that:
class form(forms.ModelForm):
extra_field = forms.CharField(label='Name of Institution')
class Meta:
model = db_institutionInstitution
fields = ['conn_kind','time','inst_name2']
The form is actually working fine, but I cant prepopulate it. I use it in a modelformset_factory
:
formset = modelformset_factory(db_institutionInstitution,form=form)
I manually run through a queryset and add the entry in the dictionary needed for the additional form in the formset. However, when I call:
formset1 = formset(prefix='brch',queryset=qs1)
the extra_field
is not prepopulated as intended (the rest is working fine).
Can anyone help?
回答1:
If you want to set a default.
extra_field = forms.CharField(label='Name of Institution', initial="harvard")
If you want to dynamically set a value:
def __init__(self, *args, **kwargs):
super(form,self).__init(*args, **kwargs)
self.fields['extra_field'].initial = "harvard"
来源:https://stackoverflow.com/questions/30761411/add-extra-field-to-modelform