... ようにしたいと思うかもしれません。 ArticleForm からフォームセットを作るには、次のようにします: >>> from django.forms import formset_factory >>> ArticleFormSet = formset_factory ( ArticleForm ) これで ArticleFormSet という名前のフォームセットクラスが作成さ ... ームセットをインスタンス化することで、フォームセット内のフォームをイテレートし、通常のフォームと同じように表示できます: >>> formset = ArticleFormSet () >>> for form in formset : ... print ( form ) ... <div><label for="id_form-0-title">Title:</label><inpu ... おり、空のフォームがひとつだけ表示されました。表示される空のフォームの数は extra パラメータで制御できます。デフォルトでは、 formset_factory() は空のフォームを1つ定義します。次の例では、フォームセットクラスを作成して空のフォームを2つ表示します: >>> Articl ... ... ようにしたいと思うかもしれません。 ArticleForm からフォームセットを作るには、次のようにします: >>> from django.forms import formset_factory >>> ArticleFormSet = formset_factory ( ArticleForm ) これで ArticleFormSet という名前のフォームセットクラスが作成さ ... ームセットをインスタンス化することで、フォームセット内のフォームをイテレートし、通常のフォームと同じように表示できます: >>> formset = ArticleFormSet () >>> for form in formset : ... print ( form ) ... <div><label for="id_form-0-title">Title:</label><inpu ... おり、空のフォームがひとつだけ表示されました。表示される空のフォームの数は extra パラメータで制御できます。デフォルトでは、 formset_factory() は空のフォームを1つ定義します。次の例では、フォームセットクラスを作成して空のフォームを2つ表示します: >>> Articl ... ... ックガイドを参照してください。 formset_factory ¶ formset_factory ( form , formset = BaseFormSet , extra = 1 , can_order = False , can_delete = False , max_num = ... lidate_min = False , absolute_max = None , can_delete_extra = True , renderer = None ) [ソース] ¶ 与えられた form クラスの FormSet クラスを返します。 使用例は フォームセット を見てください。 目次 フォームセット (Formset) の関数 formset_factory 前のトピッ ... クへ モデルフォーム 次のトピックへ フォームレンダリング API 関連キーワード フォーム セット Formset None formset factory form extra delete validate リファレンス 導入 トピック ガイド BaseFormSet order absolute renderer ソー ... ... ックガイドを参照してください。 formset_factory ¶ formset_factory ( form , formset = BaseFormSet , extra = 1 , can_order = False , can_delete = False , max_num = ... lidate_min = False , absolute_max = None , can_delete_extra = True , renderer = None ) [ソース] ¶ 与えられた form クラスの FormSet クラスを返します。 使用例は フォームセット を見てください。 目次 フォームセット (Formset) の関数 formset_factory 前のトピッ ... クへ モデルフォーム 次のトピックへ フォームレンダリング API 関連キーワード フォーム セット Formset False None formset max factory form extra delete num validate min クラス リファレンス 導入 トピック ガイド BaseFormSet 関連 ... ... actory ( Author , form = AuthorForm , localized_fields = [ "birth_date" ]) モデルのフォームセット ¶ class models. BaseModelFormSet ¶ 通常のフォームセット のように、 Django は Django モデルでの作業をより便利にするために、いくつかの拡張 フォームセットクラ ... スを提供しています。上の Author モデルを再利用してみましょう: >>> from django.forms import modelformset_factory >>> from myapp.models import Author >>> AuthorFormSet = modelformset_factory ( Author , fields = [ "name" , "title ... だけを使うように制限されます。または、除外するフィールドを指定する "オプトアウト" アプローチをとることもできます: >>> AuthorFormSet = modelformset_factory ( Author , exclude = [ "birth_date" ]) これは Author モデルに関連付けられたデータを扱うことができる ... ... actory ( Author , form = AuthorForm , localized_fields = [ "birth_date" ]) モデルのフォームセット ¶ class models. BaseModelFormSet ¶ 通常のフォームセット のように、 Django は Django モデルでの作業をより便利にするために、いくつかの拡張 フォームセットクラ ... スを提供しています。上の Author モデルを再利用してみましょう: >>> from django.forms import modelformset_factory >>> from myapp.models import Author >>> AuthorFormSet = modelformset_factory ( Author , fields = [ "name" , "title ... だけを使うように制限されます。または、除外するフィールドを指定する "オプトアウト" アプローチをとることもできます: >>> AuthorFormSet = modelformset_factory ( Author , exclude = [ "birth_date" ]) これは Author モデルに関連付けられたデータを扱うことができる ... ... 除された際に JavaScript を実行したい場合、 formset:added と formset:removed イベントを使用できます。 event.detail.formsetName は行が属するフォームセットを示します。 formset: ... html' %} {% load static %} {% block admin_change_form_document_ready %} {{ block .super }} < script src = " {% static 'app/formset_handlers.js' %} " ></ script > {% endblock %} app/static/app/formset_handlers.js ¶ document . addEventListener ( 'formset: ... added' , ( event ) => { if ( event . detail . formsetName == 'author_set' ) { // Do something } }); document . addEventListener ( 'formset:removed' , ( event ) => { // Row remo ... ... 除された際に JavaScript を実行したい場合、 formset:added と formset:removed イベントを使用できます。 event.detail.formsetName は行が属するフォームセットを示します。 formset: ... html' %} {% load static %} {% block admin_change_form_document_ready %} {{ block .super }} < script src = " {% static 'app/formset_handlers.js' %} " ></ script > {% endblock %} app/static/app/formset_handlers.js ¶ document . addEventListener ( 'formset: ... added' , ( event ) => { if ( event . detail . formsetName == 'author_set' ) { // Do something } }); document . addEventListener ( 'formset:removed' , ( event ) => { // Row remo ... ... フィールドを選択する を参照してください。使うフィールドの定義を省略すると、 ImproperlyConfigured 例外を引き起こします。 modelformset_factory ¶ modelformset_factory ( model , form = ModelForm , formfield_callback = None , formset = BaseModelFormSet , extra ... _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() を通して引き渡されます。 引数 formset , extra , can_delete , can_order , max_num , validate_max , min_num , validate_min , absolute_max , can_delete_extra , およ ... ... if you feed your own XML documents to the loaddata management command, you will need to ensure they do not contain a DTD. Formset memory exhaustion ¶ Previous versions of Django did not validate or limit the form-count data provided by the client in a ... possible to exhaust a server's available memory by forcing it to create very large numbers of forms. In Django 1.3.6, all formsets have a strictly-enforced maximum number of forms (1000 by default, though it can be set higher via the max_num formset fa ... to users with change permission for that model. 目次 Django 1.3.6 リリースノート Host header poisoning XML deserialization Formset memory exhaustion Admin history view information leakage 前のトピックへ Django 1.3.7 リリースノート 次のトピックへ Django ... 2026年10月08日