web-dev-qa-db-ja.com

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は、意図したとおりに事前入力されていません(残りは正常に機能しています)。

誰か助けてもらえますか?

16
sennierer

デフォルトを設定する場合。

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"
15
professorDante