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)[ソース]¶与えられた model
クラスに対して、FormSet
クラスを返します。
引数 model
、form
、fields
、exclude
、formfield_callback
、widgets
、localized_fields
、labels
、help_texts
、error_messages
、field_classes
は、すべて modelform_factory()
を通して引き渡されます。
引数 formset
、extra
、max_num
、can_order
、can_delete
、validate_max
は、formset_factory()
を通して引き渡されます。詳しくは formsets をご覧ください。
使用例は モデルのフォームセット を参照してください。
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)[ソース]¶formset=
BaseInlineFormSet
、can_delete=True
、extra=3
をデフォルトとする、 modelformset_factory()
を使った InlineFormSet
を返します。
モデルが parent_model
に複数の ForeignKey
を持つ場合, fk_name
を指定する必要があります。
使用例は インラインフォームセット を参照してください。
12月 02, 2019