add extra field to ModelForm
16,587
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 put it on form initialization:
def __init__(self, *args, **kwargs):
super(form, self).__init__(*args, **kwargs)
self.fields['extra_field'].initial = "harvard"
Related videos on Youtube
Author by
sennierer
Updated on September 16, 2022Comments
-
sennierer over 1 year
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?
-
Chris SH almost 6 years"default" should be "initial"
-
Gonzalo Garcia about 5 years
AttributeError: module 'django.forms' has no attribute 'Charfield'
. Anyone knows how this answer will work in django 2.1? -
ruslan_krivoshein over 4 yearsHas 'CharField'
-
shellbot97 almost 4 yearsif i do this my
form.is_valid()
always return false