向 ModelForm 添加额外字段

add extra field to ModelForm

我正在向 Django ModelForm 添加一个额外的字段:

class form(forms.ModelForm):
    extra_field = forms.CharField(label='Name of Institution')
    class Meta:
        model = db_institutionInstitution
        fields = ['conn_kind','time','inst_name2']

表单实际上工作正常,但我无法预填充它。我在 modelformset_factory:

中使用它
formset = modelformset_factory(db_institutionInstitution,form=form)

我通过查询集手动 运行 并在表单集中的附加表单所需的字典中添加条目。但是,当我打电话时:

formset1 = formset(prefix='brch',queryset=qs1)

extra_field 未按预期预填充(其余工作正常)。

有人能帮忙吗?

如果要设置默认值。

extra_field = forms.CharField(label='Name of Institution', initial="harvard")

如果您想动态设置一个值,请将其放在表单初始化中:

def __init__(self, *args, **kwargs):
    super(form, self).__init__(*args, **kwargs)
    self.fields['extra_field'].initial = "harvard"