モデルフォーム関数—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/forms/models
移動先:案内検索

モデルフォーム関数

モデルフォーム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)

指定されたmodelModelForm クラスを返します。 オプションで、form引数を渡して、ModelFormを作成するための開始点として使用できます。

fieldsは、フィールド名のオプションのリストです。 指定されている場合、指定されたフィールドのみが返されるフィールドに含まれます。

excludeは、フィールド名のオプションのリストです。 指定されている場合、名前付きフィールドは、fields引数にリストされている場合でも、返されるフィールドから除外されます。

formfield_callbackは、モデルフィールドを受け取り、フォームフィールドを返す呼び出し可能オブジェクトです。

widgetsは、ウィジェットにマップされたモデルフィールド名の辞書です。

localized_fieldsは、ローカライズする必要があるフィールドの名前のリストです。

labelsは、ラベルにマップされたモデルフィールド名の辞書です。

help_textsは、ヘルプテキストにマップされたモデルフィールド名の辞書です。

error_messagesは、エラーメッセージの辞書にマップされたモデルフィールド名の辞書です。

field_classesは、フォームフィールドクラスにマップされたモデルフィールド名の辞書です。

使用例については、 ModelFormファクトリ関数を参照してください。

フィールドのリストは、キーワード引数fieldsまたはexclude、またはフォームの内部Metaクラスの対応する属性を介して明示的に指定する必要があります。 詳細については、使用するフィールドの選択を参照してください。 使用するフィールドの定義を省略すると、 ImpproperlyConfigured 例外が発生します。


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)

指定されたmodelクラスのFormSetクラスを返します。

引数modelformfieldsexcludeformfield_callbackwidgetslocalized_fieldslabelshelp_textserror_messages、およびfield_classesはすべて modelform_factory()に渡されます。

引数formsetextracan_deletecan_ordermax_numvalidate_maxmin_numvalidate_minabsolute_max、およびcan_delete_extraは、 formset_factory()に渡されます。 詳細については、 formsets を参照してください。

使用例については、モデルフォームセットを参照してください。

バージョン3.2で変更: absolute_maxおよびcan_delete_extra引数が追加されました。


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)

modelformset_factory()を使用してInlineFormSetを返します。デフォルトは、formset= BaseInlineFormSetcan_delete=True、およびextra=3です。

モデルに ForeignKey からparent_modelへの複数の ForeignKey がある場合は、fk_nameを指定する必要があります。

使用例については、インラインフォームセットを参照してください。

バージョン3.2で変更: absolute_maxおよびcan_delete_extra引数が追加されました。