{"title":"モデルフォーム","version":"6.0","locale":"ja","docname":"ref/forms/models","url":"/ja/6.0/ref/forms/models/","canonical":"https://djangodocs.dev/ja/6.0/ref/forms/models/","summary":"ModelForm API リファレンス。ModelForm の使用に関する入門的な資料は、トピックガイドのモデルからフォームを作成するを参照してください。","html":"<span id=\"model-forms\"></span><h1>モデルフォーム<a class=\"heading-anchor\" href=\"#module-django.forms.models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p><code class=\"docutils literal notranslate\">ModelForm</code> API リファレンス。 <code class=\"docutils literal notranslate\">ModelForm</code> の使用に関する入門的な資料は、トピックガイドの <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/\"><span class=\"doc\">モデルからフォームを作成する</span></a> を参照してください。</p>\n<section id=\"model-form-meta-api\">\n<h2>モデルフォームの <code class=\"docutils literal notranslate\">Meta</code> API<a class=\"heading-anchor\" href=\"#model-form-meta-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ModelFormOptions</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\">_meta</code> API は Django モデルを反映したフォームを構築するために使用されます。これは <code class=\"docutils literal notranslate\">django.forms.models.ModelFormOptions</code> インスタンスであり、各モデルフォームの <code class=\"docutils literal notranslate\">_meta</code> 属性を通じてアクセスできます。</p>\n<p>生成されるフォームの構造は、内部の <code class=\"docutils literal notranslate\">Meta</code> クラスの属性としてメタデータオプションを定義することでカスタマイズできます。以下がその例です。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.forms</span> <span class=\"kn\">import</span> ModelForm\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Book\n\n\n<span class=\"k\">class</span> <span class=\"nc\">BookForm</span><span class=\"p\">(</span>ModelForm<span class=\"p\">):</span>\n    <span class=\"k\">class</span> <span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        model <span class=\"o\">=</span> Book\n        fields <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;author&quot;</span><span class=\"p\">]</span>\n        help_texts <span class=\"o\">=</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;title&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;The title of the book&quot;</span><span class=\"p\">,</span>\n            <span class=\"s2\">&quot;author&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;The author of the book&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">}</span>\n        <span class=\"c1\"># ... other attributes</span>\n</code></pre></div>\n<p>必要な属性は、まず <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.model\" title=\"django.forms.ModelFormOptions.model\"><code class=\"xref py py-attr docutils literal notranslate\">model</code></a> と、それから <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.fields\" title=\"django.forms.ModelFormOptions.fields\"><code class=\"xref py py-attr docutils literal notranslate\">fields</code></a> または <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.exclude\" title=\"django.forms.ModelFormOptions.exclude\"><code class=\"xref py py-attr docutils literal notranslate\">exclude</code></a> のいずれかです。その他の <code class=\"docutils literal notranslate\">Meta</code> 属性の設定は任意です。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.localized_fields\" title=\"django.forms.ModelFormOptions.localized_fields\"><code class=\"xref py py-attr docutils literal notranslate\">localized_fields</code></a> と <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.formfield_callback\" title=\"django.forms.ModelFormOptions.formfield_callback\"><code class=\"xref py py-attr docutils literal notranslate\">formfield_callback</code></a> を除く設定任意の属性には、モデルフィールド名をキーとしてそれぞれの値に対応づけた辞書型を指定してください。指定した辞書に定義されていないフィールドについては、そのフィールドのデフォルト値が適用されます。</p>\n<aside class=\"admonition-invalid-field-names admonition\" role=\"note\">\n<p class=\"admonition-title\">無効なフィールド名に対する挙動</p>\n<p>任意の辞書属性に無効または除外されたフィールド名を指定しても、出力しないフィールドにはアクセスされないので効果はありません。</p>\n</aside>\n<aside class=\"admonition-invalid-meta-class-attributes admonition\" role=\"note\">\n<p class=\"admonition-title\">無効なメタクラス属性に対する挙動</p>\n<p><code class=\"docutils literal notranslate\">Meta</code> クラスにはどんな属性も定義することができます。タイプミスや不正確な属性名によってエラーが送出されることはありません。</p>\n</aside>\n<section id=\"error-messages\">\n<h3><code class=\"docutils literal notranslate\">error_messages</code><a class=\"heading-anchor\" href=\"#error-messages\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.error_messages\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">error_messages</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.error_messages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>モデルフィールド名をキーとする辞書であり、その値としてエラーメッセージキー（ <code class=\"docutils literal notranslate\">null</code> 、 <code class=\"docutils literal notranslate\">blank</code> 、 <code class=\"docutils literal notranslate\">invalid</code> 、 <code class=\"docutils literal notranslate\">unique</code> など）とカスタムエラーメッセージをフィールドごとに対応付けた辞書を持ちます。</p>\n<p>指定されていないフィールドについては、 Django はそのモデルフィールドの <a class=\"reference internal\" href=\"/ja/6.0/ref/models/fields/#django.db.models.Field.error_messages\" title=\"django.db.models.Field.error_messages\"><code class=\"xref py py-attr docutils literal notranslate\">django.db.models.Field.error_messages</code></a> に定義されたエラーメッセージで代用するか、最終的にはそのフィールド型のデフォルトエラーメッセージを適用します。</p>\n</dd></dl>\n\n</section>\n<section id=\"exclude\">\n<h3><code class=\"docutils literal notranslate\">exclude</code><a class=\"heading-anchor\" href=\"#exclude\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.exclude\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">exclude</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.exclude\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームから除外する <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.model\" title=\"django.forms.ModelFormOptions.model\"><code class=\"xref py py-attr docutils literal notranslate\">model</code></a> のフィールド名のタプルまたはリスト。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.fields\" title=\"django.forms.ModelFormOptions.fields\"><code class=\"xref py py-attr docutils literal notranslate\">fields</code></a> または <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.exclude\" title=\"django.forms.ModelFormOptions.exclude\"><code class=\"xref py py-attr docutils literal notranslate\">exclude</code></a> のいずれかの設定が必要です。どちらも設定されない場合は <a class=\"reference internal\" href=\"/ja/6.0/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-class docutils literal notranslate\">ImproperlyConfigured</code></a> 例外が送出されます。 <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.exclude\" title=\"django.forms.ModelFormOptions.exclude\"><code class=\"xref py py-attr docutils literal notranslate\">exclude</code></a> を設定して <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.fields\" title=\"django.forms.ModelFormOptions.fields\"><code class=\"xref py py-attr docutils literal notranslate\">fields</code></a> を設定しない場合 <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.exclude\" title=\"django.forms.ModelFormOptions.exclude\"><code class=\"xref py py-attr docutils literal notranslate\">exclude</code></a> で指定していないすべてのモデルフィールドをフォームに含めます。</p>\n</dd></dl>\n\n</section>\n<section id=\"field-classes\">\n<h3><code class=\"docutils literal notranslate\">field_classes</code><a class=\"heading-anchor\" href=\"#field-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.field_classes\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">field_classes</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.field_classes\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>モデルフィールド名に対して <a class=\"reference internal\" href=\"/ja/6.0/ref/forms/fields/#django.forms.Field\" title=\"django.forms.Field\"><code class=\"xref py py-class docutils literal notranslate\">Field</code></a> クラスを対応づける辞書。これは、モデルフィールドの <a class=\"reference internal\" href=\"/ja/6.0/ref/models/fields/#django.db.models.Field.formfield\" title=\"django.db.models.Field.formfield\"><code class=\"xref py py-meth docutils literal notranslate\">Field.formfield()</code></a> メソッドで使用される <code class=\"docutils literal notranslate\">form_class</code> をオーバーライドします。</p>\n<p>値が指定されていないフィールドについて、 Djangoはモデルフィールドの <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#model-form-field-types\"><span class=\"std std-ref\">デフォルトのフィールドクラス</span></a> を適用します。</p>\n</dd></dl>\n\n</section>\n<section id=\"fields\">\n<h3><code class=\"docutils literal notranslate\">fields</code><a class=\"heading-anchor\" href=\"#fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.fields\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">fields</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フォームに含める <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.model\" title=\"django.forms.ModelFormOptions.model\"><code class=\"xref py py-attr docutils literal notranslate\">model</code></a> のフィールド名のタプルまたはリスト。値を <code class=\"docutils literal notranslate\">'__all__'</code> にすると、すべてのフィールドを含むよう設定されます。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.exclude\" title=\"django.forms.ModelFormOptions.exclude\"><code class=\"xref py py-attr docutils literal notranslate\">exclude</code></a> で指定したフィールドは、 <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.fields\" title=\"django.forms.ModelFormOptions.fields\"><code class=\"xref py py-attr docutils literal notranslate\">fields</code></a> に指定してもフォームに含まれることはありません。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.fields\" title=\"django.forms.ModelFormOptions.fields\"><code class=\"xref py py-attr docutils literal notranslate\">fields</code></a> または <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.exclude\" title=\"django.forms.ModelFormOptions.exclude\"><code class=\"xref py py-attr docutils literal notranslate\">exclude</code></a> のいずれかの設定が必要です。どちらも設定されない場合は <a class=\"reference internal\" href=\"/ja/6.0/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-class docutils literal notranslate\">ImproperlyConfigured</code></a> 例外が送出されます。</p>\n</dd></dl>\n\n</section>\n<section id=\"formfield-callback\">\n<h3><code class=\"docutils literal notranslate\">formfield_callback</code><a class=\"heading-anchor\" href=\"#formfield-callback\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.formfield_callback\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">formfield_callback</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.formfield_callback\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>モデルフィールドを受け取り <a class=\"reference internal\" href=\"/ja/6.0/ref/forms/fields/#django.forms.Field\" title=\"django.forms.Field\"><code class=\"xref py py-class docutils literal notranslate\">django.forms.Field</code></a> オブジェクトを返す関数または呼び出し可能オブジェクト。</p>\n</dd></dl>\n\n</section>\n<section id=\"help-texts\">\n<h3><code class=\"docutils literal notranslate\">help_texts</code><a class=\"heading-anchor\" href=\"#help-texts\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.help_texts\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">help_texts</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.help_texts\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィールド名に対してヘルプテキスト文字列を対応づける辞書。</p>\n<p>指定されていないフィールドについては、 Django はモデルフィールドの <a class=\"reference internal\" href=\"/ja/6.0/ref/models/fields/#django.db.models.Field.help_text\" title=\"django.db.models.Field.help_text\"><code class=\"xref py py-attr docutils literal notranslate\">help_text</code></a> を適用します。</p>\n</dd></dl>\n\n</section>\n<section id=\"labels\">\n<h3><code class=\"docutils literal notranslate\">labels</code><a class=\"heading-anchor\" href=\"#labels\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.labels\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">labels</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.labels\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィールド名に対してラベル文字列を対応づける辞書。</p>\n<p>指定されていないフィールドについては、 Django はモデルフィールドの <a class=\"reference internal\" href=\"/ja/6.0/ref/models/fields/#django.db.models.Field.verbose_name\" title=\"django.db.models.Field.verbose_name\"><code class=\"xref py py-attr docutils literal notranslate\">verbose_name</code></a> 、ついでフィールドの属性名を適用します。</p>\n</dd></dl>\n\n</section>\n<section id=\"localized-fields\">\n<h3><code class=\"docutils literal notranslate\">localized_fields</code><a class=\"heading-anchor\" href=\"#localized-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.localized_fields\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">localized_fields</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.localized_fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ローカライズする <a class=\"reference internal\" href=\"#django.forms.ModelFormOptions.model\" title=\"django.forms.ModelFormOptions.model\"><code class=\"xref py py-attr docutils literal notranslate\">model</code></a> のフィールド名のタプルまたはリスト。値を <code class=\"docutils literal notranslate\">'__all__'</code> にすると、すべてのフィールドがローカライズされます。</p>\n<p>デフォルトでは、フォームフィールドはローカライズされません。詳細は  <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#modelforms-enabling-localization-of-fields\"><span class=\"std std-ref\">フィールドのローカライズを有効にする</span></a> を参照してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"model\">\n<h3><code class=\"docutils literal notranslate\">model</code><a class=\"heading-anchor\" href=\"#model\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.model\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">model</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>必須。 <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a> に使用する <a class=\"reference internal\" href=\"/ja/6.0/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\">django.db.models.Model</code></a> を指定します。</p>\n</dd></dl>\n\n</section>\n<section id=\"widgets\">\n<h3><code class=\"docutils literal notranslate\">widgets</code><a class=\"heading-anchor\" href=\"#widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelFormOptions.widgets\">\n<span class=\"sig-prename descclassname\">ModelFormOptions.</span><span class=\"sig-name descname\">widgets</span><a class=\"heading-anchor\" href=\"#django.forms.ModelFormOptions.widgets\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィールド名に対して <a class=\"reference internal\" href=\"/ja/6.0/ref/forms/widgets/#django.forms.Widget\" title=\"django.forms.Widget\"><code class=\"xref py py-class docutils literal notranslate\">django.forms.Widget</code></a> を対応づける辞書。</p>\n<p>指定されていないフィールドについては、 Django はそのフィールドの <a class=\"reference internal\" href=\"/ja/6.0/ref/models/fields/#django.db.models.Field\" title=\"django.db.models.Field\"><code class=\"xref py py-class docutils literal notranslate\">django.db.models.Field</code></a> 型に対応するデフォルトウィジェットを適用します。</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"model-form-factory-functions\">\n<h2>モデルフォームファクトリ関数<a class=\"heading-anchor\" href=\"#model-form-factory-functions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"modelform-factory\">\n<h3><code class=\"docutils literal notranslate\">modelform_factory</code><a class=\"heading-anchor\" href=\"#modelform-factory\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.forms.models.modelform_factory\">\n<span class=\"sig-name descname\">modelform_factory</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model</em>, <em class=\"sig-param\">form<span class=\"o\">=</span><span class=\"default_value\">ModelForm</span></em>, <em class=\"sig-param\">fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">exclude<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">formfield_callback<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">widgets<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">localized_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">labels<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">help_texts<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">error_messages<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">field_classes<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.models.modelform_factory\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられた <code class=\"docutils literal notranslate\">model</code> に対して <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a> を返します。必要に応じて <code class=\"docutils literal notranslate\">form</code> 引数を渡すことで、<code class=\"docutils literal notranslate\">ModelForm</code> を構築する開始地点として使うことができます。</p>\n<p><code class=\"docutils literal notranslate\">fields</code> は、フィールド名の省略可能なリストです。提供された場合、指定されたフィールドだけが、返されるフィールドの中に含まれるようになります。</p>\n<p><code class=\"docutils literal notranslate\">exclude</code> は、フィールド名の省略可能なリストです。提供された場合、<code class=\"docutils literal notranslate\">fields</code> 引数の中に指定されていたとしても、指定されたフィールドが返されるフィールドから除かれます。</p>\n<p><code class=\"docutils literal notranslate\">formfield_callback</code> は、モデルフィールドを取ってフォームフィールドを返す callable です。</p>\n<p><code class=\"docutils literal notranslate\">widgets</code> は、ウィジェットにマッピングされたモデルフィールド名のディクショナリです。</p>\n<p><code class=\"docutils literal notranslate\">localized_fields</code> は、ローカライズされるべきフィールドの名前のリストです。</p>\n<p><code class=\"docutils literal notranslate\">labels</code> は、ラベルにマッピングされたモデルフィールド名のディクショナリです。</p>\n<p><code class=\"docutils literal notranslate\">help_texts</code> は、ヘルプテキストにマッピングされたモデルフィールド名のディクショナリです。</p>\n<p><code class=\"docutils literal notranslate\">error_messages</code> は、エラーメッセージにマッピングされたモデルフィールド名のディクショナリです。</p>\n<p><code class=\"docutils literal notranslate\">field_classes</code> は、フォームフィールドクラスにマッピングされたモデルフィールド名のディクショナリです。</p>\n<p>使用例は <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#modelforms-factory\"><span class=\"std std-ref\">ModelForm factory 関数</span></a> を参照してください。</p>\n<p>フィールドのリストは、キーワード引数 <code class=\"docutils literal notranslate\">fields</code> や <code class=\"docutils literal notranslate\">exclude</code>、もしくはフォームの内部の <code class=\"docutils literal notranslate\">Meta</code> クラスで対応する属性を使って、明示的に提供する必要があります。詳しくは <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#modelforms-selecting-fields\"><span class=\"std std-ref\">使うフィールドを選択する</span></a> を参照してください。使うフィールドの定義を省略すると、<a class=\"reference internal\" href=\"/ja/6.0/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-exc docutils literal notranslate\">ImproperlyConfigured</code></a> 例外を引き起こします。</p>\n</dd></dl>\n\n</section>\n<section id=\"modelformset-factory\">\n<h3><code class=\"docutils literal notranslate\">modelformset_factory</code><a class=\"heading-anchor\" href=\"#modelformset-factory\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.forms.models.modelformset_factory\">\n<span class=\"sig-name descname\">modelformset_factory</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model</em>, <em class=\"sig-param\">form<span class=\"o\">=</span><span class=\"default_value\">ModelForm</span></em>, <em class=\"sig-param\">formfield_callback<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">formset<span class=\"o\">=</span><span class=\"default_value\">BaseModelFormSet</span></em>, <em class=\"sig-param\">extra<span class=\"o\">=</span><span class=\"default_value\">1</span></em>, <em class=\"sig-param\">can_delete<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">can_order<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">max_num<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">exclude<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">widgets<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">validate_max<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">localized_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">labels<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">help_texts<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">error_messages<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">min_num<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">validate_min<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">field_classes<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">absolute_max<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">can_delete_extra<span class=\"o\">=</span><span class=\"default_value\">True</span></em>, <em class=\"sig-param\">renderer<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">edit_only<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.models.modelformset_factory\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>与えられた <code class=\"docutils literal notranslate\">model</code> クラスに対して、<code class=\"docutils literal notranslate\">FormSet</code> クラスを返します。</p>\n<p>引数 <code class=\"docutils literal notranslate\">model</code>、<code class=\"docutils literal notranslate\">form</code>、<code class=\"docutils literal notranslate\">fields</code>、<code class=\"docutils literal notranslate\">exclude</code>、<code class=\"docutils literal notranslate\">formfield_callback</code>、<code class=\"docutils literal notranslate\">widgets</code>、<code class=\"docutils literal notranslate\">localized_fields</code>、<code class=\"docutils literal notranslate\">labels</code>、<code class=\"docutils literal notranslate\">help_texts</code>、<code class=\"docutils literal notranslate\">error_messages</code>、<code class=\"docutils literal notranslate\">field_classes</code> は、すべて <a class=\"reference internal\" href=\"#django.forms.models.modelform_factory\" title=\"django.forms.models.modelform_factory\"><code class=\"xref py py-func docutils literal notranslate\">modelform_factory()</code></a> を通して引き渡されます。</p>\n<p>引数 <code class=\"docutils literal notranslate\">formset</code>, <code class=\"docutils literal notranslate\">extra</code>, <code class=\"docutils literal notranslate\">can_delete</code>, <code class=\"docutils literal notranslate\">can_order</code>, <code class=\"docutils literal notranslate\">max_num</code>, <code class=\"docutils literal notranslate\">validate_max</code>, <code class=\"docutils literal notranslate\">min_num</code>, <code class=\"docutils literal notranslate\">validate_min</code>, <code class=\"docutils literal notranslate\">absolute_max</code>, <code class=\"docutils literal notranslate\">can_delete_extra</code>, および <code class=\"docutils literal notranslate\">renderer</code> は <a class=\"reference internal\" href=\"/ja/6.0/ref/forms/formsets/#django.forms.formsets.formset_factory\" title=\"django.forms.formsets.formset_factory\"><code class=\"xref py py-func docutils literal notranslate\">formset_factory()</code></a> にそのまま渡されます。詳細については <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/formsets/\"><span class=\"doc\">フォームセット</span></a> を参照してください。</p>\n<p><code class=\"docutils literal notranslate\">edit_only</code> 引数は <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#model-formsets-edit-only\"><span class=\"std std-ref\">新しいオブジェクトの作成を防ぐ</span></a> のに使用できます。</p>\n<p>使用例は <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#model-formsets\"><span class=\"std std-ref\">モデルのフォームセット</span></a> を参照してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"inlineformset-factory\">\n<h3><code class=\"docutils literal notranslate\">inlineformset_factory</code><a class=\"heading-anchor\" href=\"#inlineformset-factory\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.forms.models.inlineformset_factory\">\n<span class=\"sig-name descname\">inlineformset_factory</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">parent_model</em>, <em class=\"sig-param\">model</em>, <em class=\"sig-param\">form<span class=\"o\">=</span><span class=\"default_value\">ModelForm</span></em>, <em class=\"sig-param\">formset<span class=\"o\">=</span><span class=\"default_value\">BaseInlineFormSet</span></em>, <em class=\"sig-param\">fk_name<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">exclude<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">extra<span class=\"o\">=</span><span class=\"default_value\">3</span></em>, <em class=\"sig-param\">can_order<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">can_delete<span class=\"o\">=</span><span class=\"default_value\">True</span></em>, <em class=\"sig-param\">max_num<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">formfield_callback<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">widgets<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">validate_max<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">localized_fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">labels<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">help_texts<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">error_messages<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">min_num<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">validate_min<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">field_classes<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">absolute_max<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">can_delete_extra<span class=\"o\">=</span><span class=\"default_value\">True</span></em>, <em class=\"sig-param\">renderer<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">edit_only<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.models.inlineformset_factory\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">formset=</code><a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#django.forms.models.BaseInlineFormSet\" title=\"django.forms.models.BaseInlineFormSet\"><code class=\"xref py py-class docutils literal notranslate\">BaseInlineFormSet</code></a>、<code class=\"docutils literal notranslate\">can_delete=True</code>、<code class=\"docutils literal notranslate\">extra=3</code> をデフォルトとする、 <a class=\"reference internal\" href=\"#django.forms.models.modelformset_factory\" title=\"django.forms.models.modelformset_factory\"><code class=\"xref py py-func docutils literal notranslate\">modelformset_factory()</code></a> を使った <code class=\"docutils literal notranslate\">InlineFormSet</code> を返します。</p>\n<p>モデルが <code class=\"docutils literal notranslate\">parent_model</code> に複数の <a class=\"reference internal\" href=\"/ja/6.0/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a> を持つ場合,  <code class=\"docutils literal notranslate\">fk_name</code> を指定する必要があります。</p>\n<p>使用例は <a class=\"reference internal\" href=\"/ja/6.0/topics/forms/modelforms/#inline-formsets\"><span class=\"std std-ref\">インラインフォームセット</span></a> を参照してください。</p>\n</dd></dl>\n\n</section>\n</section>","rootId":"module-django.forms.models","toc":[{"title":"モデルフォームの Meta API","anchor":"model-form-meta-api","children":[{"title":"error_messages","anchor":"error-messages","children":[]},{"title":"exclude","anchor":"exclude","children":[]},{"title":"field_classes","anchor":"field-classes","children":[]},{"title":"fields","anchor":"fields","children":[]},{"title":"formfield_callback","anchor":"formfield-callback","children":[]},{"title":"help_texts","anchor":"help-texts","children":[]},{"title":"labels","anchor":"labels","children":[]},{"title":"localized_fields","anchor":"localized-fields","children":[]},{"title":"model","anchor":"model","children":[]},{"title":"widgets","anchor":"widgets","children":[]}]},{"title":"モデルフォームファクトリ関数","anchor":"model-form-factory-functions","children":[{"title":"modelform_factory","anchor":"modelform-factory","children":[]},{"title":"modelformset_factory","anchor":"modelformset-factory","children":[]},{"title":"inlineformset_factory","anchor":"inlineformset-factory","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/6.0/ref/"},{"docname":"ref/forms/index","title":"フォーム","url":"/ja/6.0/ref/forms/"}],"prev":{"docname":"ref/forms/fields","title":"フォーム フィールド","url":"/ja/6.0/ref/forms/fields/"},"next":{"docname":"ref/forms/formsets","title":"フォームセット (Formset) の関数","url":"/ja/6.0/ref/forms/formsets/"},"formats":{"html":"/ja/6.0/ref/forms/models/","markdown":"/ja/6.0/ref/forms/models.md","json":"/ja/6.0/ref/forms/models.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/forms/models.txt","official":"https://docs.djangoproject.com/ja/6.0/ref/forms/models/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}