モデルフォーム関数¶
Model Form の API リファレンスです。モデルフォームについての導入用の資料は、モデルからフォームを作成する を参照してください。
modelform_factory¶
-
modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None, localized_fields=None, labels=None, help_texts=None, error_messages=None, field_classes=None)¶ 与えられた
modelに対してModelFormを返します。必要に応じてform引数を渡すことで、ModelFormを構築する開始地点として使うことができます。fieldsは、フィールド名の省略可能なリストです。提供された場合、指定されたフィールドだけが、返されるフィールドの中に含まれるようになります。excludeは、フィールド名の省略可能なリストです。提供された場合、fields引数の中に指定されていたとしても、指定されたフィールドが返されるフィールドから除かれます。formfield_callbackは、モデルフィールドを取ってフォームフィールドを返す callable です。widgetsは、ウィジェットにマッピングされたモデルフィールド名のディクショナリです。localized_fieldsは、ローカライズされるべきフィールドの名前のリストです。labelsは、ラベルにマッピングされたモデルフィールド名のディクショナリです。help_textsは、ヘルプテキストにマッピングされたモデルフィールド名のディクショナリです。error_messagesは、エラーメッセージにマッピングされたモデルフィールド名のディクショナリです。field_classesは、フォームフィールドクラスにマッピングされたモデルフィールド名のディクショナリです。使用例は ModelForm factory 関数 を参照してください。
フィールドのリストは、キーワード引数
fieldsやexclude、もしくはフォームの内部のMetaクラスで対応する属性を使って、明示的に提供する必要があります。詳しくは 使うフィールドを選択する を参照してください。使うフィールドの定義を省略すると、ImproperlyConfigured例外を引き起こします。
modelformset_factory¶
-
modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)¶ 与えられた
modelクラスに対して、FormSetクラスを返します。引数
model、form、fields、exclude、formfield_callback、widgets、localized_fields、labels、help_texts、error_messages、field_classesは、すべてmodelform_factory()を通して引き渡されます。Arguments
formset,extra,can_delete,can_order,max_num,validate_max,min_num,validate_min,absolute_max,can_delete_extra, andrendererare passed through toformset_factory(). See formsets for details.The
edit_onlyargument allows preventing new objects creation.使用例は モデルのフォームセット を参照してください。
Changed in Django 4.1:The
edit_onlyargument was added.
inlineformset_factory¶
-
inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None, labels=None, help_texts=None, error_messages=None, min_num=None, validate_min=False, field_classes=None, absolute_max=None, can_delete_extra=True, renderer=None, edit_only=False)¶ formset=BaseInlineFormSet、can_delete=True、extra=3をデフォルトとする、modelformset_factory()を使ったInlineFormSetを返します。モデルが
parent_modelに複数のForeignKeyを持つ場合,fk_nameを指定する必要があります。使用例は インラインフォームセット を参照してください。
Changed in Django 4.1:The
edit_onlyargument was added.