{"title":"フォーム フィールド","version":"5.0","locale":"ja","docname":"ref/forms/fields","url":"/ja/5.0/ref/forms/fields/","canonical":"https://djangodocs.dev/ja/5.0/ref/forms/fields/","summary":"Form クラスを作成時の一番重要な部分は、form のフィールド (field) の定義です。各フィールドにはカスタムの検証ロジックがあり、他にいくつかのフックもあります。","html":"<span id=\"form-fields\"></span><h1>フォーム フィールド<a class=\"heading-anchor\" href=\"#module-django.forms.fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Field\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">Field</span><a class=\"heading-anchor\" href=\"#django.forms.Field\"><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\">Form</code> クラスを作成時の一番重要な部分は、form のフィールド (field) の定義です。各フィールドにはカスタムの検証ロジックがあり、他にいくつかのフックもあります。</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Field.clean\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">clean</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Field.clean\"><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\">Field</code> クラスを使用する主な方法は <code class=\"docutils literal notranslate\">Form</code> クラス内ですが、それらを直接インスタンス化して使用することで、その動作をより良く理解できます。各 <code class=\"docutils literal notranslate\">Field</code> インスタンスには、単一の引数を取る <code class=\"docutils literal notranslate\">clean()</code> メソッドがあり、<code class=\"docutils literal notranslate\">django.core.exceptions.ValidationError</code> 例外を発生させるか、クリーンな値を返します。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> forms<span class=\"o\">.</span>EmailField<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;foo@example.com&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;foo@example.com&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;invalid email address&quot;</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"c\">...</span>\n<span class=\"gr\">ValidationError</span>: [&#39;Enter a valid email address.&#39;]\n</code></pre></div>\n<section id=\"core-field-arguments\">\n<span id=\"id1\"></span><h2>field のコアとなる引数<a class=\"heading-anchor\" href=\"#core-field-arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>各 <code class=\"docutils literal notranslate\">Field</code> クラスのコンストラクタは少なくとも以下の引数を受け付けます。<code class=\"docutils literal notranslate\">Field</code> クラスによっては追加のフィールド固有の引数も取れることがありますが、以下に説明する引数は <em>常に</em> 取ることができます。</p>\n<section id=\"required\">\n<h3><code class=\"docutils literal notranslate\">required</code><a class=\"heading-anchor\" href=\"#required\"><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.Field.required\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">required</span><a class=\"heading-anchor\" href=\"#django.forms.Field.required\"><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\">Field</code> クラスは値が必須であると想定しているため、空の値 (<code class=\"docutils literal notranslate\">None</code> もしくは空文字列 (<code class=\"docutils literal notranslate\">&quot;&quot;</code>)) を渡すと、<code class=\"docutils literal notranslate\">clean()</code> は <code class=\"docutils literal notranslate\">ValidationError</code> 例外を発生させます。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;foo&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"c\">...</span>\n<span class=\"gr\">ValidationError</span>: [&#39;This field is required.&#39;]\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"c\">...</span>\n<span class=\"gr\">ValidationError</span>: [&#39;This field is required.&#39;]\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot; &quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39; &#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;0&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;True&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;False&#39;</span>\n</code></pre></div>\n<p>フィールドが必須で <em>ない</em> ことを指定するには、<code class=\"docutils literal notranslate\">Field</code> コンストラクタに <code class=\"docutils literal notranslate\">required=False</code> を渡します:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>required<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;foo&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"mi\">0</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;0&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;True&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;False&#39;</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">Field</code> に <code class=\"docutils literal notranslate\">required=False</code> が設定されていて、<code class=\"docutils literal notranslate\">clean()</code> に空の値を渡した場合、<code class=\"docutils literal notranslate\">clean()</code> は <code class=\"docutils literal notranslate\">ValidationError</code> を発生させる代わりに、 <em>正規化された</em> 空の値を返します。<code class=\"docutils literal notranslate\">CharField</code> の場合、これは <a class=\"reference internal\" href=\"#django.forms.CharField.empty_value\" title=\"django.forms.CharField.empty_value\"><code class=\"xref py py-attr docutils literal notranslate\">empty_value</code></a> を返し、デフォルトでは空の文字列となります。他の <code class=\"docutils literal notranslate\">Field</code> クラスでは、<code class=\"docutils literal notranslate\">None</code> になることもあります。(これはフィールドによって異なります。)</p>\n<p>必須フォームフィールドのウィジェットは、<code class=\"docutils literal notranslate\">required</code> HTML属性を持っています。これを無効にするには、 <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#django.forms.Form.use_required_attribute\" title=\"django.forms.Form.use_required_attribute\"><code class=\"xref py py-attr docutils literal notranslate\">Form.use_required_attribute</code></a> 属性を <code class=\"docutils literal notranslate\">False</code> に設定します。フォームセットのフォームには、<code class=\"docutils literal notranslate\">required</code> 属性が含まれていません。これは、フォームセットの追加や削除を行う際にブラウザの検証が正しくない可能性があるためです。</p>\n</section>\n<section id=\"label\">\n<h3><code class=\"docutils literal notranslate\">label</code><a class=\"heading-anchor\" href=\"#label\"><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.Field.label\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">label</span><a class=\"heading-anchor\" href=\"#django.forms.Field.label\"><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\">label</code> 属性は、フィールドに対する &quot;人が読みやすい&quot; ラベルを指定します。このラベルは <code class=\"docutils literal notranslate\">Field</code> が <code class=\"docutils literal notranslate\">Form</code> 内で表示されるときに使用されます。</p>\n<p>上述の &quot;HTML としてフォームを出力する&quot; で説明したとおり、<code class=\"docutils literal notranslate\">Field</code> に対するデフォルトのラベルはアンダースコアを空白に、また単語の最初の小文字を大文字に変換して生成されます。 デフォルトではない文字列を表示したい場合には、<code class=\"docutils literal notranslate\">label</code> を指定してください。</p>\n<p>以下は、2 つのフィールドに対して <code class=\"docutils literal notranslate\">label</code> を実装する <code class=\"docutils literal notranslate\">Form</code> の完全な例です。出力を簡略化するために、 <code class=\"docutils literal notranslate\">auto_id=False</code> を指定しています:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">CommentForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>label<span class=\"o\">=</span><span class=\"s2\">&quot;Your name&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    url <span class=\"o\">=</span> forms<span class=\"o\">.</span>URLField<span class=\"p\">(</span>label<span class=\"o\">=</span><span class=\"s2\">&quot;Your website&quot;</span><span class=\"p\">,</span> required<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    comment <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> CommentForm<span class=\"p\">(</span>auto_id<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;Your name:&lt;input type=&quot;text&quot; name=&quot;name&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Your website:&lt;input type=&quot;url&quot; name=&quot;url&quot;&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Comment:&lt;input type=&quot;text&quot; name=&quot;comment&quot; required&gt;&lt;/div&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"label-suffix\">\n<h3><code class=\"docutils literal notranslate\">label_suffix</code><a class=\"heading-anchor\" href=\"#label-suffix\"><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.Field.label_suffix\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">label_suffix</span><a class=\"heading-anchor\" href=\"#django.forms.Field.label_suffix\"><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\">label_suffix</code> 引数を使用すると、フォームの <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#django.forms.Form.label_suffix\" title=\"django.forms.Form.label_suffix\"><code class=\"xref py py-attr docutils literal notranslate\">label_suffix</code></a> をフィールドごとに上書きできます。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">ContactForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    age <span class=\"o\">=</span> forms<span class=\"o\">.</span>IntegerField<span class=\"p\">()</span>\n<span class=\"gp\">... </span>    nationality <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">... </span>    captcha_answer <span class=\"o\">=</span> forms<span class=\"o\">.</span>IntegerField<span class=\"p\">(</span>label<span class=\"o\">=</span><span class=\"s2\">&quot;2 + 2&quot;</span><span class=\"p\">,</span> label_suffix<span class=\"o\">=</span><span class=\"s2\">&quot; =&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> ContactForm<span class=\"p\">(</span>label_suffix<span class=\"o\">=</span><span class=\"s2\">&quot;?&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;&lt;label for=&quot;id_age&quot;&gt;Age?&lt;/label&gt;&lt;input type=&quot;number&quot; name=&quot;age&quot; required id=&quot;id_age&quot;&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;&lt;label for=&quot;id_nationality&quot;&gt;Nationality?&lt;/label&gt;&lt;input type=&quot;text&quot; name=&quot;nationality&quot; required id=&quot;id_nationality&quot;&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;&lt;label for=&quot;id_captcha_answer&quot;&gt;2 + 2 =&lt;/label&gt;&lt;input type=&quot;number&quot; name=&quot;captcha_answer&quot; required id=&quot;id_captcha_answer&quot;&gt;&lt;/div&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"initial\">\n<h3><code class=\"docutils literal notranslate\">initial</code><a class=\"heading-anchor\" href=\"#initial\"><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.Field.initial\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">initial</span><a class=\"heading-anchor\" href=\"#django.forms.Field.initial\"><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\">initial</code> 属性は、<code class=\"docutils literal notranslate\">Field</code> が結びつけられていない <code class=\"docutils literal notranslate\">Form</code> で表示されるときに使われる初期値を指定します。</p>\n<p>動的に初期値を指定する方法は、<a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#django.forms.Form.initial\" title=\"django.forms.Form.initial\"><code class=\"xref py py-attr docutils literal notranslate\">Form.initial</code></a> パラメータを参照してください。</p>\n<p>これの使用例は、あるフィールドが特定の値で初期化された「空」のフォームを表示したい場合です。例えば:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">CommentForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>initial<span class=\"o\">=</span><span class=\"s2\">&quot;Your name&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    url <span class=\"o\">=</span> forms<span class=\"o\">.</span>URLField<span class=\"p\">(</span>initial<span class=\"o\">=</span><span class=\"s2\">&quot;http://&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    comment <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> CommentForm<span class=\"p\">(</span>auto_id<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;Name:&lt;input type=&quot;text&quot; name=&quot;name&quot; value=&quot;Your name&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Url:&lt;input type=&quot;url&quot; name=&quot;url&quot; value=&quot;http://&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Comment:&lt;input type=&quot;text&quot; name=&quot;comment&quot; required&gt;&lt;/div&gt;</span>\n</code></pre></div>\n<p>初期値の辞書をフォームの表示時にデータとして渡すだけでよいのでは？と考えるかもしれません。しかし、それを行うとバリデーションがトリガーされ、HTML出力にはバリデーションエラーが含まれます。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">CommentForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">... </span>    url <span class=\"o\">=</span> forms<span class=\"o\">.</span>URLField<span class=\"p\">()</span>\n<span class=\"gp\">... </span>    comment <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>default_data <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Your name&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;url&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;http://&quot;</span><span class=\"p\">}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> CommentForm<span class=\"p\">(</span>default_data<span class=\"p\">,</span> auto_id<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;Name:</span>\n<span class=\"go\">  &lt;input type=&quot;text&quot; name=&quot;name&quot; value=&quot;Your name&quot; required&gt;</span>\n<span class=\"go\">&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Url:</span>\n<span class=\"go\">  &lt;ul class=&quot;errorlist&quot;&gt;&lt;li&gt;Enter a valid URL.&lt;/li&gt;&lt;/ul&gt;</span>\n<span class=\"go\">  &lt;input type=&quot;url&quot; name=&quot;url&quot; value=&quot;http://&quot; required aria-invalid=&quot;true&quot;&gt;</span>\n<span class=\"go\">&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Comment:</span>\n<span class=\"go\">  &lt;ul class=&quot;errorlist&quot;&gt;&lt;li&gt;This field is required.&lt;/li&gt;&lt;/ul&gt;</span>\n<span class=\"go\">  &lt;input type=&quot;text&quot; name=&quot;comment&quot; required aria-invalid=&quot;true&quot;&gt;</span>\n<span class=\"go\">&lt;/div&gt;</span>\n</code></pre></div>\n<p>これが、<code class=\"docutils literal notranslate\">initial</code> 値が未結合フォームにのみ表示される理由です。結合フォームの場合、HTML 出力は結合データを使用します。</p>\n<p>また、<code class=\"docutils literal notranslate\">initial</code> 値は、特定のフィールドの値が指定されていない場合に、バリデーション内で &quot;デフォルト&quot; データとして使用されません。<code class=\"docutils literal notranslate\">initial</code> 値は、初期フォーム表示のためのみに意図されています。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">CommentForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>initial<span class=\"o\">=</span><span class=\"s2\">&quot;Your name&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    url <span class=\"o\">=</span> forms<span class=\"o\">.</span>URLField<span class=\"p\">(</span>initial<span class=\"o\">=</span><span class=\"s2\">&quot;http://&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    comment <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>data <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;url&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;comment&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Foo&quot;</span><span class=\"p\">}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> CommentForm<span class=\"p\">(</span>data<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>is_valid<span class=\"p\">()</span>\n<span class=\"go\">False</span>\n<span class=\"go\"># The form does *not* fall back to using the initial values.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>errors\n<span class=\"go\">{&#39;url&#39;: [&#39;This field is required.&#39;], &#39;name&#39;: [&#39;This field is required.&#39;]}</span>\n</code></pre></div>\n<p>定数の代わりに、任意の呼び出し可能オブジェクトを渡すこともできます:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">import</span> <span class=\"nn\">datetime</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">DateForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    day <span class=\"o\">=</span> forms<span class=\"o\">.</span>DateField<span class=\"p\">(</span>initial<span class=\"o\">=</span>datetime<span class=\"o\">.</span>date<span class=\"o\">.</span>today<span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>DateForm<span class=\"p\">())</span>\n<span class=\"go\">&lt;div&gt;&lt;label for=&quot;id_day&quot;&gt;Day:&lt;/label&gt;&lt;input type=&quot;text&quot; name=&quot;day&quot; value=&quot;2023-02-11&quot; required id=&quot;id_day&quot;&gt;&lt;/div&gt;</span>\n</code></pre></div>\n<p>呼び出し可能オブジェクトは、定義される時ではなく、未バインドの形式が表示される時にのみ評価されます。</p>\n</section>\n<section id=\"widget\">\n<h3><code class=\"docutils literal notranslate\">widget</code><a class=\"heading-anchor\" href=\"#widget\"><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.Field.widget\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">widget</span><a class=\"heading-anchor\" href=\"#django.forms.Field.widget\"><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\">widget</code> 引数は、<code class=\"docutils literal notranslate\">Field</code> をレンダリングするときに使う <code class=\"docutils literal notranslate\">Widget</code> クラスを指定します。詳しくは <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/\"><span class=\"doc\">ウィジェット</span></a> を参照してください。</p>\n</section>\n<section id=\"help-text\">\n<h3><code class=\"docutils literal notranslate\">help_text</code><a class=\"heading-anchor\" href=\"#help-text\"><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.Field.help_text\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">help_text</span><a class=\"heading-anchor\" href=\"#django.forms.Field.help_text\"><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\">help_text</code> 引数は、<code class=\"docutils literal notranslate\">Field</code> を説明するテキストを指定します。<code class=\"docutils literal notranslate\">help_text</code> を指定した場合、容易な <code class=\"docutils literal notranslate\">Form</code> メソッド (たとえば <code class=\"docutils literal notranslate\">as_ul()</code>) で <code class=\"docutils literal notranslate\">Field</code> がレンダリングされるときに、<code class=\"docutils literal notranslate\">Field</code> の隣に表示されます。</p>\n<p>モデルフィールドの <a class=\"reference internal\" href=\"/ja/5.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> と同じく、値は自動的に生成されるフォーム内で HTML 用にエスケープされません。</p>\n<p>以下は、2つのフィールドに <code class=\"docutils literal notranslate\">help_text</code> を実装した <code class=\"docutils literal notranslate\">Form</code> の完全な例です。出力を単純化するために <code class=\"docutils literal notranslate\">auto_id=False</code> を指定しています:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">HelpTextContactForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    subject <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">,</span> help_text<span class=\"o\">=</span><span class=\"s2\">&quot;100 characters max.&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    message <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">... </span>    sender <span class=\"o\">=</span> forms<span class=\"o\">.</span>EmailField<span class=\"p\">(</span>help_text<span class=\"o\">=</span><span class=\"s2\">&quot;A valid email address, please.&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">... </span>    cc_myself <span class=\"o\">=</span> forms<span class=\"o\">.</span>BooleanField<span class=\"p\">(</span>required<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> HelpTextContactForm<span class=\"p\">(</span>auto_id<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;Subject:&lt;div class=&quot;helptext&quot;&gt;100 characters max.&lt;/div&gt;&lt;input type=&quot;text&quot; name=&quot;subject&quot; maxlength=&quot;100&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Message:&lt;input type=&quot;text&quot; name=&quot;message&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Sender:&lt;div class=&quot;helptext&quot;&gt;A valid email address, please.&lt;/div&gt;&lt;input type=&quot;email&quot; name=&quot;sender&quot; required&gt;&lt;/div&gt;</span>\n<span class=\"go\">&lt;div&gt;Cc myself:&lt;input type=&quot;checkbox&quot; name=&quot;cc_myself&quot;&gt;&lt;/div&gt;</span>\n</code></pre></div>\n<p>フィールドにヘルプテキストがあり、ウィジェットが <code class=\"docutils literal notranslate\">&lt;fieldset&gt;</code> でレンダリングされていない場合、<code class=\"docutils literal notranslate\">aria-describedby</code> が <code class=\"docutils literal notranslate\">&lt;input&gt;</code> に追加され、ヘルプテキストと関連付けられます:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">UserForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    username <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">,</span> help_text<span class=\"o\">=</span><span class=\"s2\">&quot;e.g., user@example.com&quot;</span><span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> UserForm<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">)</span>\n<span class=\"go\">&lt;div&gt;</span>\n<span class=\"go\">&lt;label for=&quot;id_username&quot;&gt;Username:&lt;/label&gt;</span>\n<span class=\"go\">&lt;div class=&quot;helptext&quot; id=&quot;id_username_helptext&quot;&gt;e.g., user@example.com&lt;/div&gt;</span>\n<span class=\"go\">&lt;input type=&quot;text&quot; name=&quot;username&quot; maxlength=&quot;255&quot; required aria-describedby=&quot;id_username_helptext&quot; id=&quot;id_username&quot;&gt;</span>\n<span class=\"go\">&lt;/div&gt;</span>\n</code></pre></div>\n<p>カスタム <code class=\"docutils literal notranslate\">aria-describedby</code> 属性を追加する際には、使用している場合は <code class=\"docutils literal notranslate\">help_text</code> 要素の <code class=\"docutils literal notranslate\">id</code> も希望する順序で含めることを確認してください。スクリーンリーダーのユーザーにとって、説明は <code class=\"docutils literal notranslate\">aria-describedby</code> 内の出現順に読み上げられます。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">UserForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    username <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>\n<span class=\"gp\">... </span>        max_length<span class=\"o\">=</span><span class=\"mi\">255</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        help_text<span class=\"o\">=</span><span class=\"s2\">&quot;e.g., user@example.com&quot;</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>        widget<span class=\"o\">=</span>forms<span class=\"o\">.</span>TextInput<span class=\"p\">(</span>\n<span class=\"gp\">... </span>            attrs<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;aria-describedby&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;custom-description id_username_helptext&quot;</span><span class=\"p\">},</span>\n<span class=\"gp\">... </span>        <span class=\"p\">),</span>\n<span class=\"gp\">... </span>    <span class=\"p\">)</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> UserForm<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"nb\">print</span><span class=\"p\">(</span>f<span class=\"p\">[</span><span class=\"s2\">&quot;username&quot;</span><span class=\"p\">])</span>\n<span class=\"go\">&lt;input type=&quot;text&quot; name=&quot;username&quot; aria-describedby=&quot;custom-description id_username_helptext&quot; maxlength=&quot;255&quot; id=&quot;id_username&quot; required&gt;</span>\n</code></pre></div>\n<aside class=\"version-note version-changed\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p><code class=\"docutils literal notranslate\">help_text</code> をその入力と関連付けるために、<code class=\"docutils literal notranslate\">aria-describedby</code> が追加されました。</p>\n</aside>\n</section>\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.Field.error_messages\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">error_messages</span><a class=\"heading-anchor\" href=\"#django.forms.Field.error_messages\"><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\">error_messages</code> 引数を使用すると、フィールドが出すデフォルトのメッセージを上書きできます。上書きしたいエラーメッセージに一致するキーを持つ辞書を渡してください。例えば、これはデフォルトのエラーメッセージです：</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span>generic <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>generic<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n  <span class=\"c\">...</span>\n<span class=\"gr\">ValidationError</span>: [&#39;This field is required.&#39;]\n</code></pre></div>\n<p>そしてこれがカスタムエラーメッセージです:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>error_messages<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;required&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Please enter your name&quot;</span><span class=\"p\">})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>name<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n  <span class=\"c\">...</span>\n<span class=\"gr\">ValidationError</span>: [&#39;Please enter your name&#39;]\n</code></pre></div>\n<p>以下の <a class=\"reference internal\" href=\"#built-in-field-classes\">built-in Field classes</a> セクションでは、各 <code class=\"docutils literal notranslate\">Field</code> が使用するエラーメッセージのキーを定義しています。</p>\n</section>\n<section id=\"validators\">\n<h3><code class=\"docutils literal notranslate\">validators</code><a class=\"heading-anchor\" href=\"#validators\"><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.Field.validators\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">validators</span><a class=\"heading-anchor\" href=\"#django.forms.Field.validators\"><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\">validators</code> 引数は、フィールドに対するバリデーション関数のリストを指定します。</p>\n<p>詳しくは <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/\"><span class=\"doc\">バリデータのドキュメント</span></a> を参照してください。</p>\n</section>\n<section id=\"localize\">\n<h3><code class=\"docutils literal notranslate\">localize</code><a class=\"heading-anchor\" href=\"#localize\"><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.Field.localize\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">localize</span><a class=\"heading-anchor\" href=\"#django.forms.Field.localize\"><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\">localize</code> 引数は、form データの入力とレンダリングした出力のローカライズを有効にします。</p>\n<p>詳しくは <a class=\"reference internal\" href=\"/ja/5.0/topics/i18n/formatting/\"><span class=\"doc\">表示形式のローカライズ</span></a> ドキュメントを読んでください。</p>\n</section>\n<section id=\"disabled\">\n<h3><code class=\"docutils literal notranslate\">disabled</code><a class=\"heading-anchor\" href=\"#disabled\"><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.Field.disabled\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">disabled</span><a class=\"heading-anchor\" href=\"#django.forms.Field.disabled\"><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\">disabled</code> はブール値の引数を取ります。 <code class=\"docutils literal notranslate\">True</code> にセットされた場合、フォームのフィールドを <code class=\"docutils literal notranslate\">disabled</code> HTML 属性を使って無効化し、ユーザーが編集できないようにします。たとえユーザーが勝手にフィールドの値を書き換えてサーバーに送信したとしても、フォームの初期データを使い、書き換えられたデータは無視します。</p>\n</section>\n<section id=\"template-name\">\n<h3><code class=\"docutils literal notranslate\">template_name</code><a class=\"heading-anchor\" href=\"#template-name\"><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.Field.template_name\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">template_name</span><a class=\"heading-anchor\" href=\"#django.forms.Field.template_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.0</p></aside>\n<p><code class=\"docutils literal notranslate\">template_name</code> 引数は、フィールドが <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#django.forms.BoundField.as_field_group\" title=\"django.forms.BoundField.as_field_group\"><code class=\"xref py py-meth docutils literal notranslate\">as_field_group()</code></a> でレンダリングされるときにカスタムテンプレートを使用できるようにします。デフォルトの値は <code class=\"docutils literal notranslate\">&quot;django/forms/field.html&quot;</code> に設定されています。この属性をオーバーライドするか、デフォルトテンプレートをオーバーライドすることで、フィールドごとに変更できます。詳細は、 <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/renderers/#overriding-built-in-field-templates\"><span class=\"std std-ref\">組み込みのフィールドテンプレートをオーバーライドする</span></a> も参照してください。</p>\n</section>\n</section>\n<section id=\"checking-if-the-field-data-has-changed\">\n<h2>フィールドのデータの変更チェック<a class=\"heading-anchor\" href=\"#checking-if-the-field-data-has-changed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"has-changed\">\n<h3><code class=\"docutils literal notranslate\">has_changed()</code><a class=\"heading-anchor\" href=\"#has-changed\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.Field.has_changed\">\n<span class=\"sig-prename descclassname\">Field.</span><span class=\"sig-name descname\">has_changed</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.Field.has_changed\"><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\">has_changed()</code> メソッドは、フィールドの値が最初の値から変更されたかどうかを確認するのに使用します。<code class=\"docutils literal notranslate\">True</code> または <code class=\"docutils literal notranslate\">False</code> を返します。</p>\n<p>詳しくは <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#django.forms.Form.has_changed\" title=\"django.forms.Form.has_changed\"><code class=\"xref py py-class docutils literal notranslate\">Form.has_changed()</code></a> ドキュメントを読んでください。</p>\n</section>\n</section>\n<section id=\"built-in-field-classes\">\n<span id=\"built-in-fields\"></span><h2>ビルトインの <code class=\"docutils literal notranslate\">Field</code> クラス<a class=\"heading-anchor\" href=\"#built-in-field-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>当然ながら、<code class=\"docutils literal notranslate\">forms</code> ライブラリには共通のバリデーションニーズを代表する一連の <code class=\"docutils literal notranslate\">Field</code> クラスが含まれています。このセクションでは、各ビルトインフィールドについて説明します。</p>\n<p>各フィールドについて、<code class=\"docutils literal notranslate\">widget</code> を指定しない場合に使用されるデフォルトウィジェットを説明します。また、空の値を提供した場合に返される値も指定します（これがどういう意味かについては <code class=\"docutils literal notranslate\">required</code> セクションを参照してください）。</p>\n<section id=\"booleanfield\">\n<h3><code class=\"docutils literal notranslate\">BooleanField</code><a class=\"heading-anchor\" href=\"#booleanfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.BooleanField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BooleanField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.BooleanField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.CheckboxInput\" title=\"django.forms.CheckboxInput\"><code class=\"xref py py-class docutils literal notranslate\">CheckboxInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">False</code></p></li>\n<li><p>正規化後の値: Pythonの <code class=\"docutils literal notranslate\">True</code> または <code class=\"docutils literal notranslate\">False</code> になります。</p></li>\n<li><p>フィールドが <code class=\"docutils literal notranslate\">required=True</code> を持つ場合、値が <code class=\"docutils literal notranslate\">True</code> (例えば、チェックボックスがチェックされている)であることを確認します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code></p></li>\n</ul>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>すべての <code class=\"docutils literal notranslate\">Field</code> のサブクラスはデフォルトで <code class=\"docutils literal notranslate\">required=True</code> ですので、ここでのバリデーション条件は重要です。フォームに True または False のどちらかであるブール値 (たとえば、チェックありまたはチェックなしのチェックボックス) を含めたい場合は、 <code class=\"docutils literal notranslate\">BooleanField</code> を作成する際に <code class=\"docutils literal notranslate\">required=False</code> を渡すことを忘れないでください。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"charfield\">\n<h3><code class=\"docutils literal notranslate\">CharField</code><a class=\"heading-anchor\" href=\"#charfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CharField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">CharField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.CharField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <a class=\"reference internal\" href=\"#django.forms.CharField.empty_value\" title=\"django.forms.CharField.empty_value\"><code class=\"xref py py-attr docutils literal notranslate\">empty_value</code></a> として与えたもの</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p><code class=\"docutils literal notranslate\">max_length</code> と <code class=\"docutils literal notranslate\">min_length</code> が与えられた場合は、<a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MaxLengthValidator\" title=\"django.core.validators.MaxLengthValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxLengthValidator</code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MinLengthValidator\" title=\"django.core.validators.MinLengthValidator\"><code class=\"xref py py-class docutils literal notranslate\">MinLengthValidator</code></a> を使用します。それ以外の場合は、すべての入力が有効です。</p></li>\n<li><p>エラーメッセージキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">max_length</code>, <code class=\"docutils literal notranslate\">min_length</code></p></li>\n</ul>\n<p>次のオプション引数がバリデーションに使用されます:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CharField.max_length\">\n<span class=\"sig-name descname\">max_length</span><a class=\"heading-anchor\" href=\"#django.forms.CharField.max_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CharField.min_length\">\n<span class=\"sig-name descname\">min_length</span><a class=\"heading-anchor\" href=\"#django.forms.CharField.min_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>これらの引数が提供された場合、文字列が与えられた長さ以下か以上であることを保証します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CharField.strip\">\n<span class=\"sig-name descname\">strip</span><a class=\"heading-anchor\" href=\"#django.forms.CharField.strip\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">True</code> （デフォルト）の場合、値から先頭と末尾の空白が削除されます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.CharField.empty_value\">\n<span class=\"sig-name descname\">empty_value</span><a class=\"heading-anchor\" href=\"#django.forms.CharField.empty_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>「空」を表すのに使用する値です。デフォルトは空の文字列です。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"choicefield\">\n<h3><code class=\"docutils literal notranslate\">ChoiceField</code><a class=\"heading-anchor\" href=\"#choicefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ChoiceField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ChoiceField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ChoiceField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\">Select</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">''</code> (空の文字列)</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p>指定された値が選択肢のリスト内に存在することを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid_choice</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">invalid_choice</code> エラーメッセージには <code class=\"docutils literal notranslate\">%(value)s</code> が含まれていることがあり、選択された選択肢に置き換えられます。</p>\n<p>1つの追加引数を受け取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ChoiceField.choices\">\n<span class=\"sig-name descname\">choices</span><a class=\"heading-anchor\" href=\"#django.forms.ChoiceField.choices\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>このフィールドの選択肢として使用する2値タプルの <a class=\"reference external\" href=\"https://docs.python.org/3/glossary.html#term-iterable\" title=\"(in Python v3.14)\"><span class=\"xref std std-term\">iterable</span></a> 、 <a class=\"reference internal\" href=\"/ja/5.0/ref/models/fields/#field-choices-enum-types\"><span class=\"std std-ref\">列挙型</span></a> 、またはそのようなイテラブルを返す呼び出し可能オブジェクトのいずれか。この引数は、モデルフィールドの <code class=\"docutils literal notranslate\">choices</code> 引数と同じ形式を受け入れます。詳細については、 <a class=\"reference internal\" href=\"/ja/5.0/ref/models/fields/#field-choices\"><span class=\"std std-ref\">モデルフィールドのリファレンスドキュメント</span></a> を参照してください。引数が呼び出し可能オブジェクトの場合、フィールドのフォームが初期化されるたび、およびレンダリング中に評価されます。デフォルトは空のリストです。</p>\n</dd></dl>\n\n<aside class=\"admonition-choice-type admonition\" role=\"note\">\n<p class=\"admonition-title\">選択肢 (Choice) 型</p>\n<p>このフィールドは選択肢を文字列に正規化するため、整数やブール値など、他のデータ型で選択肢が必要な場合は、代わりに <a class=\"reference internal\" href=\"#django.forms.TypedChoiceField\" title=\"django.forms.TypedChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">TypedChoiceField</code></a> を使用することを検討してください。</p>\n</aside>\n<aside class=\"version-note version-changed\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 5.0</p><p>マッピングのサポートと、<code class=\"docutils literal notranslate\">choices</code> で直接 <a class=\"reference internal\" href=\"/ja/5.0/ref/models/fields/#field-choices-enum-types\"><span class=\"std std-ref\">列挙型(enum types)</span></a> を使用する機能が追加されました。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"datefield\">\n<h3><code class=\"docutils literal notranslate\">DateField</code><a class=\"heading-anchor\" href=\"#datefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DateField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.DateField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.DateInput\" title=\"django.forms.DateInput\"><code class=\"xref py py-class docutils literal notranslate\">DateInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の <code class=\"docutils literal notranslate\">datetime.date</code> オブジェクトになります。</p></li>\n<li><p>与えられた値が <code class=\"docutils literal notranslate\">datetime.date</code>、<code class=\"docutils literal notranslate\">datetime.datetime</code> または特定の日付の表示形式のどれかに当てはまるか検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>1 つの省略可能な引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateField.input_formats\">\n<span class=\"sig-name descname\">input_formats</span><a class=\"heading-anchor\" href=\"#django.forms.DateField.input_formats\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を有効な <code class=\"docutils literal notranslate\">datetime.date</code> オブジェクトに変換しようとする際に使用されるフォーマットのイテラブル。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">input_formats</code> 引数が指定されていない場合、デフォルトの入力形式は有効なロケール形式の <code class=\"docutils literal notranslate\">DATE_INPUT_FORMATS</code> キーから取得されるか、ローカライズが無効になっている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DATE_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\">DATE_INPUT_FORMATS</code></a> から取得されます。また、 <a class=\"reference internal\" href=\"/ja/5.0/topics/i18n/formatting/\"><span class=\"doc\">表示形式のローカライズ</span></a> も参照してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"datetimefield\">\n<h3><code class=\"docutils literal notranslate\">DateTimeField</code><a class=\"heading-anchor\" href=\"#datetimefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateTimeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DateTimeField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.DateTimeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.DateTimeInput\" title=\"django.forms.DateTimeInput\"><code class=\"xref py py-class docutils literal notranslate\">DateTimeInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の <code class=\"docutils literal notranslate\">datetime.datetime</code> オブジェクトになります。</p></li>\n<li><p>与えられた値が <code class=\"docutils literal notranslate\">datetime.datetime</code>、<code class=\"docutils literal notranslate\">datetime.date</code> または特定の日時の表示形式の文字列のどれかに当てはまるか検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>1 つの省略可能な引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DateTimeField.input_formats\">\n<span class=\"sig-name descname\">input_formats</span><a class=\"heading-anchor\" href=\"#django.forms.DateTimeField.input_formats\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>ISO 8601 形式に加えて、文字列を有効な <code class=\"docutils literal notranslate\">datetime.datetime</code> オブジェクトに変換しようと試みる際に使用される形式のイテラブル。</p>\n</dd></dl>\n\n<p>このフィールドは常に、ISO 8601形式の日付や <a class=\"reference internal\" href=\"/ja/5.0/ref/utils/#django.utils.dateparse.parse_datetime\" title=\"django.utils.dateparse.parse_datetime\"><code class=\"xref py py-func docutils literal notranslate\">parse_datetime()</code></a> で認識される類似の形式の文字列を受け付けます。いくつかの例を挙げます:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25 14:30:59'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25T14:30:59'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25 14:30'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25T14:30'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25T14:30Z'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25T14:30+02:00'</code></p></li>\n<li><p><code class=\"docutils literal notranslate\">'2006-10-25'</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">input_formats</code> 引数が提供されない場合、デフォルトの入力フォーマットはアクティブなロケールフォーマットの <code class=\"docutils literal notranslate\">DATETIME_INPUT_FORMATS</code> と <code class=\"docutils literal notranslate\">DATE_INPUT_FORMATS</code> キーから取得されます。もしくは、ローカライズが無効の場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DATETIME_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\">DATETIME_INPUT_FORMATS</code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DATE_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\">DATE_INPUT_FORMATS</code></a> から取得されます。また、表示形式のローカライズについては <a class=\"reference internal\" href=\"/ja/5.0/topics/i18n/formatting/\"><span class=\"doc\">表示形式のローカライズ</span></a> も参照してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"decimalfield\">\n<h3><code class=\"docutils literal notranslate\">DecimalField</code><a class=\"heading-anchor\" href=\"#decimalfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DecimalField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DecimalField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.DecimalField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\">Field.localize</code></a> が <code class=\"docutils literal notranslate\">False</code> のとき <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a>、<code class=\"docutils literal notranslate\">True</code> のとき <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a>.</p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の <code class=\"docutils literal notranslate\">decimal</code> になります。</p></li>\n<li><p>指定された値が10進数であることを検証します。 <code class=\"docutils literal notranslate\">max_value</code> と <code class=\"docutils literal notranslate\">min_value</code> が提供されている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MaxValueValidator\" title=\"django.core.validators.MaxValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxValueValidator</code></a> および <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MinValueValidator\" title=\"django.core.validators.MinValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MinValueValidator</code></a> を使用します。 <code class=\"docutils literal notranslate\">step_size</code> が提供されている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.StepValueValidator\" title=\"django.core.validators.StepValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">StepValueValidator</code></a> を使用します。先頭及び末尾の空白は無視されます。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">max_value</code>, <code class=\"docutils literal notranslate\">min_value</code>, <code class=\"docutils literal notranslate\">max_digits</code>, <code class=\"docutils literal notranslate\">max_decimal_places</code>, <code class=\"docutils literal notranslate\">max_whole_digits</code>, <code class=\"docutils literal notranslate\">step_size</code> 。</p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">max_value</code> および <code class=\"docutils literal notranslate\">min_value</code> のエラーメッセージには <code class=\"docutils literal notranslate\">%(limit_value)s</code> が含まれる場合があり、これは適切な制限値に置き換えられます。同様に、<code class=\"docutils literal notranslate\">max_digits</code>、<code class=\"docutils literal notranslate\">max_decimal_places</code>、および <code class=\"docutils literal notranslate\">max_whole_digits</code> のエラーメッセージには <code class=\"docutils literal notranslate\">%(max)s</code> が含まれる場合があります。</p>\n<p>5つのオプション引数を受け取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DecimalField.max_value\">\n<span class=\"sig-name descname\">max_value</span><a class=\"heading-anchor\" href=\"#django.forms.DecimalField.max_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DecimalField.min_value\">\n<span class=\"sig-name descname\">min_value</span><a class=\"heading-anchor\" href=\"#django.forms.DecimalField.min_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>これらはフィールドに許可される値の範囲を制御し、<code class=\"docutils literal notranslate\">decimal.Decimal</code> 値として指定する必要があります。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DecimalField.max_digits\">\n<span class=\"sig-name descname\">max_digits</span><a class=\"heading-anchor\" href=\"#django.forms.DecimalField.max_digits\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値で許容される桁数の最大値 (小数点より前と小数点より後の桁数を合わせ、先頭のゼロは除く)。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DecimalField.decimal_places\">\n<span class=\"sig-name descname\">decimal_places</span><a class=\"heading-anchor\" href=\"#django.forms.DecimalField.decimal_places\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>許可される小数点以下の最大桁数。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DecimalField.step_size\">\n<span class=\"sig-name descname\">step_size</span><a class=\"heading-anchor\" href=\"#django.forms.DecimalField.step_size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>有効な入力を <code class=\"docutils literal notranslate\">step_size</code> の整数倍に制限します。もし <code class=\"docutils literal notranslate\">min_value</code> も指定されている場合、その値をオフセットとして加算し、ステップサイズが一致しているかを判断します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"durationfield\">\n<h3><code class=\"docutils literal notranslate\">DurationField</code><a class=\"heading-anchor\" href=\"#durationfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.DurationField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DurationField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.DurationField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">timedelta</code></a> になります。</p></li>\n<li><p>指定された値が <code class=\"docutils literal notranslate\">timedelta</code> に変換できる文字列であることを検証します。値は <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta.min\" title=\"(in Python v3.14)\"><code class=\"xref py py-attr docutils literal notranslate\">datetime.timedelta.min</code></a> と <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta.max\" title=\"(in Python v3.14)\"><code class=\"xref py py-attr docutils literal notranslate\">datetime.timedelta.max</code></a> の間でなければなりません。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code>、<code class=\"docutils literal notranslate\">overflow</code> 。</p></li>\n</ul>\n<p><a class=\"reference internal\" href=\"/ja/5.0/ref/utils/#django.utils.dateparse.parse_duration\" title=\"django.utils.dateparse.parse_duration\"><code class=\"xref py py-func docutils literal notranslate\">parse_duration()</code></a> が理解できるどんな形式でも受け入れます。</p>\n</dd></dl>\n\n</section>\n<section id=\"emailfield\">\n<h3><code class=\"docutils literal notranslate\">EmailField</code><a class=\"heading-anchor\" href=\"#emailfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.EmailField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">EmailField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.EmailField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.EmailInput\" title=\"django.forms.EmailInput\"><code class=\"xref py py-class docutils literal notranslate\">EmailInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">empty_value</code> として指定したものです。</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.EmailValidator\" title=\"django.core.validators.EmailValidator\"><code class=\"xref py py-class docutils literal notranslate\">EmailValidator</code></a> を使用して、与えられた値が有効なメールアドレスであることを、比較的複雑な正規表現を使用してバリデーションします。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>オプション引数として <code class=\"docutils literal notranslate\">max_length</code>、<code class=\"docutils literal notranslate\">min_length</code>、<code class=\"docutils literal notranslate\">empty_value</code> があり、<a class=\"reference internal\" href=\"#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> と同じように機能します。 <code class=\"docutils literal notranslate\">max_length</code> 引数のデフォルト値は320です( <span class=\"target\" id=\"index-4\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc3696.html#section-3\"><strong>RFC 3696 Section 3</strong></a> を参照)。</p>\n<aside class=\"version-note version-changed\" data-version=\"3.2.20\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 3.2.20</p><p><code class=\"docutils literal notranslate\">max_length</code> のデフォルト値が 320 文字に変更されました。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"filefield\">\n<h3><code class=\"docutils literal notranslate\">FileField</code><a class=\"heading-anchor\" href=\"#filefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FileField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">FileField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.FileField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\">ClearableFileInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>ファイルコンテンツとファイル名を1つのオブジェクトにラッピングした <code class=\"docutils literal notranslate\">UploadedFile</code> オブジェクトに正規化されます。</p></li>\n<li><p>フォームに空でないファイルデータがバインドされていることをバリデーションできます。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">missing</code>, <code class=\"docutils literal notranslate\">empty</code>, <code class=\"docutils literal notranslate\">max_length</code></p></li>\n</ul>\n<p>バリデーションのためのオプション引数には <code class=\"docutils literal notranslate\">max_length</code> と <code class=\"docutils literal notranslate\">allow_empty_file</code> があります。もしこれらが指定された場合、ファイル名は与えられた長さ以下でなければならず、ファイルの内容が空でもバリデーションは成功します。</p>\n<p><code class=\"docutils literal notranslate\">UploadedFile</code> オブジェクトについて詳しく知るには、 <a class=\"reference internal\" href=\"/ja/5.0/topics/http/file-uploads/\"><span class=\"doc\">ファイルのアップロードのドキュメント</span></a> を読んでください。</p>\n<p>フォーム内で <code class=\"docutils literal notranslate\">FileField</code> を使用する時は、<a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#binding-uploaded-files\"><span class=\"std std-ref\">ファイルのデータをフォームにバインド</span></a> することも必要です。</p>\n<p><code class=\"docutils literal notranslate\">max_length</code> エラーは、ファイル名の長さに関連しています。そのキーのエラーメッセージでは、<code class=\"docutils literal notranslate\">%(max)d</code> は最大ファイル名長さに置き換えられ、<code class=\"docutils literal notranslate\">%(length)d</code> は現在のファイル名の長さに置き換えられます。</p>\n</dd></dl>\n\n</section>\n<section id=\"filepathfield\">\n<h3><code class=\"docutils literal notranslate\">FilePathField</code><a class=\"heading-anchor\" href=\"#filepathfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FilePathField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">FilePathField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.FilePathField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\">Select</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">''</code> (空の文字列)</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p>選択された選択肢が選択肢のリストに存在することを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid_choice</code></p></li>\n</ul>\n<p>このフィールドは、特定のディレクトリ内のファイルから選択することを可能にします。5つの追加引数を受け取りますが、<code class=\"docutils literal notranslate\">path</code> のみが必須です:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FilePathField.path\">\n<span class=\"sig-name descname\">path</span><a class=\"heading-anchor\" href=\"#django.forms.FilePathField.path\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>リストアップしたいディレクトリの絶対パス。このディレクトリは存在していなければなりません。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FilePathField.recursive\">\n<span class=\"sig-name descname\">recursive</span><a class=\"heading-anchor\" href=\"#django.forms.FilePathField.recursive\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">False</code> (デフォルト) の場合、<code class=\"docutils literal notranslate\">path</code> の直接の内容のみが選択肢として提示されます。<code class=\"docutils literal notranslate\">True</code> の場合、ディレクトリは再帰的に降りていき、すべての子孫が選択肢としてリストアップされます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FilePathField.match\">\n<span class=\"sig-name descname\">match</span><a class=\"heading-anchor\" href=\"#django.forms.FilePathField.match\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>正規表現パターンです。この表現と一致する名前のファイルのみが選択肢として許可されます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FilePathField.allow_files\">\n<span class=\"sig-name descname\">allow_files</span><a class=\"heading-anchor\" href=\"#django.forms.FilePathField.allow_files\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>オプション。<code class=\"docutils literal notranslate\">True</code> または <code class=\"docutils literal notranslate\">False</code> のいずれかを指定します。デフォルトは <code class=\"docutils literal notranslate\">True</code> です。指定された場所のファイルを含めるかどうかを指定します。これか <a class=\"reference internal\" href=\"#django.forms.FilePathField.allow_folders\" title=\"django.forms.FilePathField.allow_folders\"><code class=\"xref py py-attr docutils literal notranslate\">allow_folders</code></a> のいずれかを <code class=\"docutils literal notranslate\">True</code> にする必要があります。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FilePathField.allow_folders\">\n<span class=\"sig-name descname\">allow_folders</span><a class=\"heading-anchor\" href=\"#django.forms.FilePathField.allow_folders\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>オプションです。<code class=\"docutils literal notranslate\">True</code> または <code class=\"docutils literal notranslate\">False</code> です。デフォルトは <code class=\"docutils literal notranslate\">False</code> です。指定された場所のフォルダを含めるかどうかを指定します。これか <a class=\"reference internal\" href=\"#django.forms.FilePathField.allow_files\" title=\"django.forms.FilePathField.allow_files\"><code class=\"xref py py-attr docutils literal notranslate\">allow_files</code></a> のいずれかが <code class=\"docutils literal notranslate\">True</code> でなければなりません。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"floatfield\">\n<h3><code class=\"docutils literal notranslate\">FloatField</code><a class=\"heading-anchor\" href=\"#floatfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FloatField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">FloatField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.FloatField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\">Field.localize</code></a> が <code class=\"docutils literal notranslate\">False</code> のとき <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a>、<code class=\"docutils literal notranslate\">True</code> のとき <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a>.</p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の float になります。</p></li>\n<li><p>指定された値が float であることを検証します。 <code class=\"docutils literal notranslate\">max_value</code> と <code class=\"docutils literal notranslate\">min_value</code> が提供されている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MaxValueValidator\" title=\"django.core.validators.MaxValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxValueValidator</code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MinValueValidator\" title=\"django.core.validators.MinValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MinValueValidator</code></a> を使用します。<code class=\"docutils literal notranslate\">step_size</code> が提供されている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.StepValueValidator\" title=\"django.core.validators.StepValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">StepValueValidator</code></a> を使用します。Python の <code class=\"docutils literal notranslate\">float()</code> 関数と同様、先頭と末尾の空白は許可されます。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code>、<code class=\"docutils literal notranslate\">max_value</code>、<code class=\"docutils literal notranslate\">min_value</code>、<code class=\"docutils literal notranslate\">step_size</code> 。</p></li>\n</ul>\n<p>オプションで3つの引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FloatField.max_value\">\n<span class=\"sig-name descname\">max_value</span><a class=\"heading-anchor\" href=\"#django.forms.FloatField.max_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FloatField.min_value\">\n<span class=\"sig-name descname\">min_value</span><a class=\"heading-anchor\" href=\"#django.forms.FloatField.min_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>これらは、フィールドに許可される値の範囲を制御します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.FloatField.step_size\">\n<span class=\"sig-name descname\">step_size</span><a class=\"heading-anchor\" href=\"#django.forms.FloatField.step_size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>有効な入力を <code class=\"docutils literal notranslate\">step_size</code> の整数倍に制限します。もし <code class=\"docutils literal notranslate\">min_value</code> も指定されている場合、その値をオフセットとして加算し、ステップサイズが一致しているかを判断します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"genericipaddressfield\">\n<h3><code class=\"docutils literal notranslate\">GenericIPAddressField</code><a class=\"heading-anchor\" href=\"#genericipaddressfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.GenericIPAddressField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GenericIPAddressField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.GenericIPAddressField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>IPv4 または IPv6 アドレスのいずれかを持つフィールドです。</p>\n<ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">''</code> (空の文字列)</p></li>\n<li><p>正規化後の値: 文字列。以下の説明に従って、IPv6 アドレスは正規化されます。</p></li>\n<li><p>与えられた値が有効な IP アドレスを表しているか検証します。</p></li>\n<li><p>Error message keys: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">max_length</code></p></li>\n</ul>\n<p>IPv6 アドレスは、 <span class=\"target\" id=\"index-5\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc4291.html#section-2.2\"><strong>RFC 4291 Section 2.2</strong></a> section 2.2 (同セクションの paragraph 3 で提案された IPv4 のフォーマットの使用を含む) にしたがって、 <code class=\"docutils literal notranslate\">::ffff:192.0.2.0</code> のように正規化します。たとえば、 <code class=\"docutils literal notranslate\">2001:0::0:01</code> は <code class=\"docutils literal notranslate\">2001::1</code> と正規化され、 <code class=\"docutils literal notranslate\">::ffff:0a0a:0a0a</code> は <code class=\"docutils literal notranslate\">::ffff:10.10.10.10</code> と正規化されます。そして、すべての文字は小文字に変換されます。</p>\n<p>オプションで3つの引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.GenericIPAddressField.protocol\">\n<span class=\"sig-name descname\">protocol</span><a class=\"heading-anchor\" href=\"#django.forms.GenericIPAddressField.protocol\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>有効な入力を指定したプロトコルに限定します。指定できる値は、 <code class=\"docutils literal notranslate\">both</code> (デフォルト)、 <code class=\"docutils literal notranslate\">IPv4</code> または <code class=\"docutils literal notranslate\">IPv6</code> です。大文字・小文字は無視されます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.GenericIPAddressField.unpack_ipv4\">\n<span class=\"sig-name descname\">unpack_ipv4</span><a class=\"heading-anchor\" href=\"#django.forms.GenericIPAddressField.unpack_ipv4\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>IPv4 にマッピングされた <code class=\"docutils literal notranslate\">::ffff:192.0.2.1</code> のようなアドレスをアンパックします。このオプションを有効にすると、このアドレスは <code class=\"docutils literal notranslate\">192.0.2.1</code> とアンパックされます。デフォルトは無効です。<code class=\"docutils literal notranslate\">protocol</code> が <code class=\"docutils literal notranslate\">'both'</code> に設定されている場合にだけ使用できます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.GenericIPAddressField.max_length\">\n<span class=\"sig-name descname\">max_length</span><a class=\"heading-anchor\" href=\"#django.forms.GenericIPAddressField.max_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Defaults to 39, and behaves the same way as it does for\n<a class=\"reference internal\" href=\"#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a>.</p>\n</dd></dl>\n\n<aside class=\"version-note version-changed\" data-version=\"4.2.18\" role=\"note\">\n<p class=\"version-note-title\">Changed in Django 4.2.18</p><p>The default value for <code class=\"docutils literal notranslate\">max_length</code> was set to 39 characters.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"imagefield\">\n<h3><code class=\"docutils literal notranslate\">ImageField</code><a class=\"heading-anchor\" href=\"#imagefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ImageField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ImageField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ImageField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.ClearableFileInput\" title=\"django.forms.ClearableFileInput\"><code class=\"xref py py-class docutils literal notranslate\">ClearableFileInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>ファイルコンテンツとファイル名を1つのオブジェクトにラッピングした <code class=\"docutils literal notranslate\">UploadedFile</code> オブジェクトに正規化されます。</p></li>\n<li><p>ファイルデータがフォームにバインドされたことを検証します。また、 <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.FileExtensionValidator\" title=\"django.core.validators.FileExtensionValidator\"><code class=\"xref py py-class docutils literal notranslate\">FileExtensionValidator</code></a> を使用して、ファイルの拡張子が Pillow でサポートされているかを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">missing</code>, <code class=\"docutils literal notranslate\">empty</code>, <code class=\"docutils literal notranslate\">invalid_image</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">ImageField</code> を使用するには、使用する画像形式をサポートする <a class=\"reference external\" href=\"https://pillow.readthedocs.io/en/latest/\">Pillow</a> がインストールされている必要があります。画像をアップロードする際に <code class=\"docutils literal notranslate\">corrupt image</code> エラーが発生する場合、通常はその形式を理解していないためです。これを修正するには、適切なライブラリをインストールして Pillow を再インストールしてください。</p>\n<p>フォームで <code class=\"docutils literal notranslate\">ImageField</code> を使用する場合、<a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#binding-uploaded-files\"><span class=\"std std-ref\">フォームにファイルデータをバインドする</span></a> 必要も覚えておいてください。</p>\n<p>フィールドがクリーンアップされ、バリデーションされた後、<code class=\"docutils literal notranslate\">UploadedFile</code> オブジェクトには、ファイルが有効な画像であるかを確認するために使用されたPillowの <a class=\"reference external\" href=\"https://pillow.readthedocs.io/en/latest/reference/Image.html\">Image</a> インスタンスを含む追加の <code class=\"docutils literal notranslate\">image</code> 属性があります。Pillow は画像を検証した後にベースとなるファイルディスクリプタを閉じるため、<code class=\"docutils literal notranslate\">format</code>、<code class=\"docutils literal notranslate\">height</code>、<code class=\"docutils literal notranslate\">width</code> などの非画像データ属性は使用可能ですが、<code class=\"docutils literal notranslate\">getdata()</code> や <code class=\"docutils literal notranslate\">getpixel()</code> のようにベースとなる画像データにアクセスするメソッドは、ファイルを再度開かない限り使用できません。例えば:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">PIL</span> <span class=\"kn\">import</span> Image\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.core.files.uploadedfile</span> <span class=\"kn\">import</span> SimpleUploadedFile\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">ImageForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    img <span class=\"o\">=</span> forms<span class=\"o\">.</span>ImageField<span class=\"p\">()</span>\n<span class=\"gp\">...</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>file_data <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;img&quot;</span><span class=\"p\">:</span> SimpleUploadedFile<span class=\"p\">(</span><span class=\"s2\">&quot;test.png&quot;</span><span class=\"p\">,</span> <span class=\"sa\">b</span><span class=\"s2\">&quot;file data&quot;</span><span class=\"p\">)}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>form <span class=\"o\">=</span> ImageForm<span class=\"p\">({},</span> file_data<span class=\"p\">)</span>\n<span class=\"go\"># Pillow closes the underlying file descriptor.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>form<span class=\"o\">.</span>is_valid<span class=\"p\">()</span>\n<span class=\"go\">True</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image_field <span class=\"o\">=</span> form<span class=\"o\">.</span>cleaned_data<span class=\"p\">[</span><span class=\"s2\">&quot;img&quot;</span><span class=\"p\">]</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image_field<span class=\"o\">.</span>image\n<span class=\"go\">&lt;PIL.PngImagePlugin.PngImageFile image mode=RGBA size=191x287 at 0x7F5985045C18&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image_field<span class=\"o\">.</span>image<span class=\"o\">.</span>width\n<span class=\"go\">191</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image_field<span class=\"o\">.</span>image<span class=\"o\">.</span>height\n<span class=\"go\">287</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image_field<span class=\"o\">.</span>image<span class=\"o\">.</span>format\n<span class=\"go\">&#39;PNG&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image_field<span class=\"o\">.</span>image<span class=\"o\">.</span>getdata<span class=\"p\">()</span>\n<span class=\"go\"># Raises AttributeError: &#39;NoneType&#39; object has no attribute &#39;seek&#39;.</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image <span class=\"o\">=</span> Image<span class=\"o\">.</span>open<span class=\"p\">(</span>image_field<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>image<span class=\"o\">.</span>getdata<span class=\"p\">()</span>\n<span class=\"go\">&lt;ImagingCore object at 0x7f5984f874b0&gt;</span>\n</code></pre></div>\n<p>さらに、Pillowが画像のコンテンツタイプを特定できる場合には、<code class=\"docutils literal notranslate\">UploadedFile.content_type</code> は画像のコンテンツタイプで更新されます。それ以外の場合は、<code class=\"docutils literal notranslate\">None</code> に設定されます。</p>\n</dd></dl>\n\n</section>\n<section id=\"integerfield\">\n<h3><code class=\"docutils literal notranslate\">IntegerField</code><a class=\"heading-anchor\" href=\"#integerfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.IntegerField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">IntegerField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.IntegerField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"#django.forms.Field.localize\" title=\"django.forms.Field.localize\"><code class=\"xref py py-attr docutils literal notranslate\">Field.localize</code></a> が <code class=\"docutils literal notranslate\">False</code> のとき <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.NumberInput\" title=\"django.forms.NumberInput\"><code class=\"xref py py-class docutils literal notranslate\">NumberInput</code></a>、<code class=\"docutils literal notranslate\">True</code> のとき <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a>.</p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の整数になります。</p></li>\n<li><p>与えられた値が整数であることを検証します。<code class=\"docutils literal notranslate\">max_value</code> と <code class=\"docutils literal notranslate\">min_value</code> が提供されている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MaxValueValidator\" title=\"django.core.validators.MaxValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MaxValueValidator</code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.MinValueValidator\" title=\"django.core.validators.MinValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">MinValueValidator</code></a> を使用します。<code class=\"docutils literal notranslate\">step_size</code> が提供されている場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.StepValueValidator\" title=\"django.core.validators.StepValueValidator\"><code class=\"xref py py-class docutils literal notranslate\">StepValueValidator</code></a> を使用します。Python の <code class=\"docutils literal notranslate\">int()</code> 関数と同様、先頭と末尾の空白は許可されます。</p></li>\n<li><p>エラーメッセージキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">max_value</code>, <code class=\"docutils literal notranslate\">min_value</code>, <code class=\"docutils literal notranslate\">step_size</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">max_value</code>、<code class=\"docutils literal notranslate\">min_value</code>、および <code class=\"docutils literal notranslate\">step_size</code> のエラーメッセージには、<code class=\"docutils literal notranslate\">%(limit_value)s</code> が含まれることがあり、これは適切な制限値に置き換えられます。</p>\n<p>バリデーションのために、3つのオプション引数を受け取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.IntegerField.max_value\">\n<span class=\"sig-name descname\">max_value</span><a class=\"heading-anchor\" href=\"#django.forms.IntegerField.max_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.IntegerField.min_value\">\n<span class=\"sig-name descname\">min_value</span><a class=\"heading-anchor\" href=\"#django.forms.IntegerField.min_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>これらは、フィールドに許可される値の範囲を制御します。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.IntegerField.step_size\">\n<span class=\"sig-name descname\">step_size</span><a class=\"heading-anchor\" href=\"#django.forms.IntegerField.step_size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>有効な入力を <code class=\"docutils literal notranslate\">step_size</code> の整数倍に制限します。もし <code class=\"docutils literal notranslate\">min_value</code> も指定されている場合、その値をオフセットとして加算し、ステップサイズが一致しているかを判断します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"jsonfield\">\n<h3><code class=\"docutils literal notranslate\">JSONField</code><a class=\"heading-anchor\" href=\"#jsonfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.JSONField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">JSONField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">encoder<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">decoder<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.JSONField\"><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/5.0/ref/models/fields/#django.db.models.JSONField\" title=\"django.db.models.JSONField\"><code class=\"xref py py-class docutils literal notranslate\">JSONField</code></a> 用の、JSON エンコードされたデータを受け入れるフィールドです。</p>\n<ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Textarea\" title=\"django.forms.Textarea\"><code class=\"xref py py-class docutils literal notranslate\">Textarea</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: <a class=\"reference internal\" href=\"#django.forms.JSONField.decoder\" title=\"django.forms.JSONField.decoder\"><code class=\"xref py py-attr docutils literal notranslate\">JSONField.decoder</code></a> に依存して、JSON 値の Python 表現 (通常は <code class=\"docutils literal notranslate\">dict</code>、<code class=\"docutils literal notranslate\">list</code>、または <code class=\"docutils literal notranslate\">None</code>) に正規化されます。</p></li>\n<li><p>与えられた値が有効な JSON であることを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>次の2つの省略可能な引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.JSONField.encoder\">\n<span class=\"sig-name descname\">encoder</span><a class=\"heading-anchor\" href=\"#django.forms.JSONField.encoder\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>標準のJSONシリアライザがサポートしていないデータ型 (<code class=\"docutils literal notranslate\">datetime.datetime</code> や <a class=\"reference external\" href=\"https://docs.python.org/3/library/uuid.html#uuid.UUID\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">UUID</code></a> など) をシリアライズするための <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.JSONEncoder\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">json.JSONEncoder</code></a> のサブクラスです。例えば、 <a class=\"reference internal\" href=\"/ja/5.0/topics/serialization/#django.core.serializers.json.DjangoJSONEncoder\" title=\"django.core.serializers.json.DjangoJSONEncoder\"><code class=\"xref py py-class docutils literal notranslate\">DjangoJSONEncoder</code></a> クラスを使用できます。</p>\n<p>デフォルトは <code class=\"docutils literal notranslate\">json.JSONEncoder</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.JSONField.decoder\">\n<span class=\"sig-name descname\">decoder</span><a class=\"heading-anchor\" href=\"#django.forms.JSONField.decoder\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>入力をデシリアライズするための <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.JSONDecoder\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">json.JSONDecoder</code></a> のサブクラスです。デシリアライズでは、入力タイプを確実に把握できないという事実に対応する必要があります。例えば、<code class=\"docutils literal notranslate\">datetime</code> 形式と同じ形式を持つ文字列が、実際には <code class=\"docutils literal notranslate\">datetime</code> として返されるリスクがあります。</p>\n<p><code class=\"docutils literal notranslate\">decoder</code> を使用して入力をバリデーションできます。デシリアライズ中に <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.JSONDecodeError\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">json.JSONDecodeError</code></a> が発生した場合は、<code class=\"docutils literal notranslate\">ValidationError</code> が発生します。</p>\n<p>デフォルトは <code class=\"docutils literal notranslate\">json.JSONDecoder</code> です。</p>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p><a class=\"reference internal\" href=\"/ja/5.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/5.0/ref/models/fields/#django.db.models.JSONField\" title=\"django.db.models.JSONField\"><code class=\"xref py py-class docutils literal notranslate\">JSONField</code></a> からの <code class=\"docutils literal notranslate\">encoder</code> と <code class=\"docutils literal notranslate\">decoder</code> が使用されます。</p>\n</aside>\n<aside class=\"admonition-user-friendly-forms admonition\" role=\"note\">\n<p class=\"admonition-title\">ユーザーフレンドリーなフォーム</p>\n<p><code class=\"docutils literal notranslate\">JSONField</code> は多くの場合、ユーザーフレンドリーとは言えません。しかし、クライアントサイドのウィジェットからサーバーに送信するためのデータをフォーマットする便利な方法です。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"multiplechoicefield\">\n<h3><code class=\"docutils literal notranslate\">MultipleChoiceField</code><a class=\"heading-anchor\" href=\"#multiplechoicefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultipleChoiceField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultipleChoiceField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.MultipleChoiceField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.SelectMultiple\" title=\"django.forms.SelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\">SelectMultiple</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">[]</code> (空のリスト)</p></li>\n<li><p>正規化後の値: 文字列のリストになります。</p></li>\n<li><p>与えられた値のリストの各値が、選択肢のリストに存在することを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid_choice</code>, <code class=\"docutils literal notranslate\">invalid_list</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">invalid_choice</code> エラーメッセージには <code class=\"docutils literal notranslate\">%(value)s</code> が含まれていることがあり、選択された選択肢に置き換えられます。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.ChoiceField\" title=\"django.forms.ChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ChoiceField</code></a> のために、1つの追加の必須引数 <code class=\"docutils literal notranslate\">choices</code> を取ります。</p>\n</dd></dl>\n\n</section>\n<section id=\"nullbooleanfield\">\n<h3><code class=\"docutils literal notranslate\">NullBooleanField</code><a class=\"heading-anchor\" href=\"#nullbooleanfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.NullBooleanField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">NullBooleanField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.NullBooleanField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.NullBooleanSelect\" title=\"django.forms.NullBooleanSelect\"><code class=\"xref py py-class docutils literal notranslate\">NullBooleanSelect</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Pythonの <code class=\"docutils literal notranslate\">True</code>、<code class=\"docutils literal notranslate\">False</code>、または <code class=\"docutils literal notranslate\">None</code> になります。</p></li>\n<li><p>何も検証しません（つまり、<code class=\"docutils literal notranslate\">ValidationError</code> を決して発生させません）。</p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">NullBooleanField</code> は、ウィジェットの <code class=\"docutils literal notranslate\">choices</code> を指定することで、 <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\">Select</code></a> や <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.RadioSelect\" title=\"django.forms.RadioSelect\"><code class=\"xref py py-class docutils literal notranslate\">RadioSelect</code></a> などのウィジェットで使用できます。</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>NullBooleanField<span class=\"p\">(</span>\n    widget<span class=\"o\">=</span>Select<span class=\"p\">(</span>\n        choices<span class=\"o\">=</span><span class=\"p\">[</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Unknown&quot;</span><span class=\"p\">),</span>\n            <span class=\"p\">(</span><span class=\"kc\">True</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Yes&quot;</span><span class=\"p\">),</span>\n            <span class=\"p\">(</span><span class=\"kc\">False</span><span class=\"p\">,</span> <span class=\"s2\">&quot;No&quot;</span><span class=\"p\">),</span>\n        <span class=\"p\">]</span>\n    <span class=\"p\">)</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"regexfield\">\n<h3><code class=\"docutils literal notranslate\">RegexField</code><a class=\"heading-anchor\" href=\"#regexfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.RegexField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">RegexField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.RegexField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">empty_value</code> として指定したものです。</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.RegexValidator\" title=\"django.core.validators.RegexValidator\"><code class=\"xref py py-class docutils literal notranslate\">RegexValidator</code></a> を使用して、与えられた値が特定の正規表現と一致するかどうかを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>1つの必須引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.RegexField.regex\">\n<span class=\"sig-name descname\">regex</span><a class=\"heading-anchor\" href=\"#django.forms.RegexField.regex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列またはコンパイルされた正規表現オブジェクトとして指定される正規表現。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">max_length</code>、<code class=\"docutils literal notranslate\">min_length</code>、<code class=\"docutils literal notranslate\">strip</code>、および <code class=\"docutils literal notranslate\">empty_value</code> も受け取ります。これらは <a class=\"reference internal\" href=\"#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> と全く同じように機能します。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.RegexField.strip\">\n<span class=\"sig-name descname\">strip</span><a class=\"heading-anchor\" href=\"#django.forms.RegexField.strip\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>デフォルトは <code class=\"docutils literal notranslate\">False</code> です。有効にした場合、正規表現バリデーションの前にストリップ処理が適用されます。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"slugfield\">\n<h3><code class=\"docutils literal notranslate\">SlugField</code><a class=\"heading-anchor\" href=\"#slugfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SlugField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">SlugField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.SlugField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <a class=\"reference internal\" href=\"#django.forms.SlugField.empty_value\" title=\"django.forms.SlugField.empty_value\"><code class=\"xref py py-attr docutils literal notranslate\">empty_value</code></a> として与えたもの</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p><a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.validate_slug\" title=\"django.core.validators.validate_slug\"><code class=\"xref py py-class docutils literal notranslate\">validate_slug</code></a> または <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.validate_unicode_slug\" title=\"django.core.validators.validate_unicode_slug\"><code class=\"xref py py-class docutils literal notranslate\">validate_unicode_slug</code></a> を使用して、与えられた値が文字、数字、アンダースコア、ハイフンのみを含むかを検証します。</p></li>\n<li><p>エラーメッセージ: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>このフィールドは、フォームでモデルの <a class=\"reference internal\" href=\"/ja/5.0/ref/models/fields/#django.db.models.SlugField\" title=\"django.db.models.SlugField\"><code class=\"xref py py-class docutils literal notranslate\">SlugField</code></a> を表現するために使用することを意図しています。</p>\n<p>2つのオプションパラメーターを取ります：</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SlugField.allow_unicode\">\n<span class=\"sig-name descname\">allow_unicode</span><a class=\"heading-anchor\" href=\"#django.forms.SlugField.allow_unicode\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィールドが ASCII 文字に加えて Unicode 文字を受け入れるよう指示するブール値です。デフォルトは <code class=\"docutils literal notranslate\">False</code> です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SlugField.empty_value\">\n<span class=\"sig-name descname\">empty_value</span><a class=\"heading-anchor\" href=\"#django.forms.SlugField.empty_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>「空」を表すのに使用する値です。デフォルトは空の文字列です。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"timefield\">\n<h3><code class=\"docutils literal notranslate\">TimeField</code><a class=\"heading-anchor\" href=\"#timefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TimeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">TimeField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.TimeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TimeInput\" title=\"django.forms.TimeInput\"><code class=\"xref py py-class docutils literal notranslate\">TimeInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の <code class=\"docutils literal notranslate\">datetime.time</code> オブジェクトになります。</p></li>\n<li><p>与えられた値が <code class=\"docutils literal notranslate\">datetime.time</code> か、特定の時間形式でフォーマットされた文字列であることを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>1 つの省略可能な引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TimeField.input_formats\">\n<span class=\"sig-name descname\">input_formats</span><a class=\"heading-anchor\" href=\"#django.forms.TimeField.input_formats\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を有効な <code class=\"docutils literal notranslate\">datetime.time</code> オブジェクトに変換するために試みる形式のイテラブル。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">input_formats</code> 引数が指定されていない場合、デフォルトの入力形式は、アクティブなロケール形式の <code class=\"docutils literal notranslate\">TIME_INPUT_FORMATS</code> キーから取得されるか、ローカライズが無効の場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-TIME_INPUT_FORMATS\"><code class=\"xref std std-setting docutils literal notranslate\">TIME_INPUT_FORMATS</code></a> から取得されます。詳細は、<a class=\"reference internal\" href=\"/ja/5.0/topics/i18n/formatting/\"><span class=\"doc\">表示形式のローカライズ</span></a> を参照してください。</p>\n</dd></dl>\n\n</section>\n<section id=\"typedchoicefield\">\n<h3><code class=\"docutils literal notranslate\">TypedChoiceField</code><a class=\"heading-anchor\" href=\"#typedchoicefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TypedChoiceField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">TypedChoiceField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.TypedChoiceField\"><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.ChoiceField\" title=\"django.forms.ChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ChoiceField</code></a> と同様ですが、 <a class=\"reference internal\" href=\"#django.forms.TypedChoiceField\" title=\"django.forms.TypedChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">TypedChoiceField</code></a> は2つの追加引数、 <a class=\"reference internal\" href=\"#django.forms.TypedChoiceField.coerce\" title=\"django.forms.TypedChoiceField.coerce\"><code class=\"xref py py-attr docutils literal notranslate\">coerce</code></a> と <a class=\"reference internal\" href=\"#django.forms.TypedChoiceField.empty_value\" title=\"django.forms.TypedChoiceField.empty_value\"><code class=\"xref py py-attr docutils literal notranslate\">empty_value</code></a> を取ります。</p>\n<ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\">Select</code></a></p></li>\n<li><p>空の値: <a class=\"reference internal\" href=\"#django.forms.TypedChoiceField.empty_value\" title=\"django.forms.TypedChoiceField.empty_value\"><code class=\"xref py py-attr docutils literal notranslate\">empty_value</code></a> として与えたもの</p></li>\n<li><p>正規化後の値: <a class=\"reference internal\" href=\"#django.forms.TypedChoiceField.coerce\" title=\"django.forms.TypedChoiceField.coerce\"><code class=\"xref py py-attr docutils literal notranslate\">coerce</code></a> 引数で指定された型になります。</p></li>\n<li><p>指定された値が選択肢のリストに存在し、強制変換できることを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid_choice</code></p></li>\n</ul>\n<p>追加の引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TypedChoiceField.coerce\">\n<span class=\"sig-name descname\">coerce</span><a class=\"heading-anchor\" href=\"#django.forms.TypedChoiceField.coerce\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>1つの引数を受け取り、強制された値を返す関数です。例には組み込みの <code class=\"docutils literal notranslate\">int</code>、<code class=\"docutils literal notranslate\">float</code>、<code class=\"docutils literal notranslate\">bool</code>、その他の型が含まれます。デフォルトは恒等関数です。強制は入力バリデーションの後に行われるため、<code class=\"docutils literal notranslate\">choices</code> に存在しない値への強制が可能です。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TypedChoiceField.empty_value\">\n<span class=\"sig-name descname\">empty_value</span><a class=\"heading-anchor\" href=\"#django.forms.TypedChoiceField.empty_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>&quot;空&quot; を表すために使用する値です。デフォルトは空文字列です。 <code class=\"docutils literal notranslate\">None</code> もここでよく使用される選択肢の一つです。この値は、 <code class=\"docutils literal notranslate\">coerce</code> 引数で与えられた関数によって強制されないことに注意してください。それに応じて選択してください。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"typedmultiplechoicefield\">\n<h3><code class=\"docutils literal notranslate\">TypedMultipleChoiceField</code><a class=\"heading-anchor\" href=\"#typedmultiplechoicefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.TypedMultipleChoiceField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">TypedMultipleChoiceField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.TypedMultipleChoiceField\"><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.MultipleChoiceField\" title=\"django.forms.MultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">MultipleChoiceField</code></a> と同様ですが、 <a class=\"reference internal\" href=\"#django.forms.TypedMultipleChoiceField\" title=\"django.forms.TypedMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">TypedMultipleChoiceField</code></a> は <code class=\"docutils literal notranslate\">coerce</code> と <code class=\"docutils literal notranslate\">empty_value</code> という2つの追加の引数を受け取ります。</p>\n<ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.SelectMultiple\" title=\"django.forms.SelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\">SelectMultiple</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">empty_value</code> として渡したもの</p></li>\n<li><p>正規化後の値: <code class=\"docutils literal notranslate\">coerce</code> 引数によって提供される型の値のリストになります。</p></li>\n<li><p>指定された値が選択肢のリスト内に存在し、強制変換できることを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid_choice</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">invalid_choice</code> エラーメッセージには <code class=\"docutils literal notranslate\">%(value)s</code> が含まれていることがあり、選択された選択肢に置き換えられます。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.TypedChoiceField\" title=\"django.forms.TypedChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">TypedChoiceField</code></a> と同様に、2つの追加引数 <code class=\"docutils literal notranslate\">coerce</code> と <code class=\"docutils literal notranslate\">empty_value</code> を取ります。</p>\n</dd></dl>\n\n</section>\n<section id=\"urlfield\">\n<h3><code class=\"docutils literal notranslate\">URLField</code><a class=\"heading-anchor\" href=\"#urlfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.URLField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">URLField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.URLField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.URLInput\" title=\"django.forms.URLInput\"><code class=\"xref py py-class docutils literal notranslate\">URLInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">empty_value</code> として指定したものです。</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p>与えられた値が有効なURLであることを検証するために <a class=\"reference internal\" href=\"/ja/5.0/ref/validators/#django.core.validators.URLValidator\" title=\"django.core.validators.URLValidator\"><code class=\"xref py py-class docutils literal notranslate\">URLValidator</code></a> を使用します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>オプション引数 <code class=\"docutils literal notranslate\">max_length</code>、<code class=\"docutils literal notranslate\">min_length</code>、<code class=\"docutils literal notranslate\">empty_value</code> は <a class=\"reference internal\" href=\"#django.forms.CharField\" title=\"django.forms.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> での動作と全く同じように機能し、さらにもう一つの引数があります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.URLField.assume_scheme\">\n<span class=\"sig-name descname\">assume_scheme</span><a class=\"heading-anchor\" href=\"#django.forms.URLField.assume_scheme\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">New in Django 5.0</p></aside>\n<p>スキーマが省略されたURLに対して想定されるスキーマです。デフォルトは <code class=\"docutils literal notranslate\">&quot;http&quot;</code> です。たとえば、<code class=\"docutils literal notranslate\">assume_scheme</code> が <code class=\"docutils literal notranslate\">&quot;https&quot;</code> で、提供された値が <code class=\"docutils literal notranslate\">&quot;example.com&quot;</code> の場合、正規化された値は <code class=\"docutils literal notranslate\">&quot;https://example.com&quot;</code> になります。</p>\n</dd></dl>\n\n<aside class=\"version-note version-deprecated\" data-version=\"5.0\" role=\"note\">\n<p class=\"version-note-title\">Deprecated since Django 5.0</p><p><span class=\"versionmodified deprecated\">バージョン 5.0 で非推奨: </span><code class=\"docutils literal notranslate\">assume_scheme</code> のデフォルト値は Django 6.0 で <code class=\"docutils literal notranslate\">&quot;http&quot;</code> から <code class=\"docutils literal notranslate\">&quot;https&quot;</code> に変更されます。Django 5.x のリリースサイクル中に <code class=\"docutils literal notranslate\">&quot;https&quot;</code> を使用するようにするには、移行用設定の <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-FORMS_URLFIELD_ASSUME_HTTPS\"><code class=\"xref std std-setting docutils literal notranslate\">FORMS_URLFIELD_ASSUME_HTTPS</code></a> を <code class=\"docutils literal notranslate\">True</code> に設定してください。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"uuidfield\">\n<h3><code class=\"docutils literal notranslate\">UUIDField</code><a class=\"heading-anchor\" href=\"#uuidfield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.UUIDField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">UUIDField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.UUIDField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: <a class=\"reference external\" href=\"https://docs.python.org/3/library/uuid.html#uuid.UUID\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">UUID</code></a> オブジェクトに正規化されます。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>このフィールドは、 <a class=\"reference external\" href=\"https://docs.python.org/3/library/uuid.html#uuid.UUID\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">UUID</code></a> コンストラクタの <code class=\"docutils literal notranslate\">hex</code> 引数として受け入れられる任意の文字列形式を受け付けます。</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"slightly-complex-built-in-field-classes\">\n<h2>少し複雑な組み込み <code class=\"docutils literal notranslate\">Field</code> クラス<a class=\"heading-anchor\" href=\"#slightly-complex-built-in-field-classes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"combofield\">\n<h3><code class=\"docutils literal notranslate\">ComboField</code><a class=\"heading-anchor\" href=\"#combofield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ComboField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ComboField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ComboField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">''</code> (空の文字列)</p></li>\n<li><p>正規化後の値: 文字列になります。</p></li>\n<li><p><code class=\"docutils literal notranslate\">ComboField</code> に引数として指定された各フィールドに対して、与えられた値をバリデーションします。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、<code class=\"docutils literal notranslate\">invalid</code></p></li>\n</ul>\n<p>1つの必須の追加引数を受け取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ComboField.fields\">\n<span class=\"sig-name descname\">fields</span><a class=\"heading-anchor\" href=\"#django.forms.ComboField.fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>フィールドの値を検証するために使用すべきフィールドのリスト(渡した順序で検証されます)。</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</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=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.forms</span> <span class=\"kn\">import</span> ComboField\n<span class=\"gp\">&gt;&gt;&gt; </span>f <span class=\"o\">=</span> ComboField<span class=\"p\">(</span>fields<span class=\"o\">=</span><span class=\"p\">[</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">20</span><span class=\"p\">),</span> EmailField<span class=\"p\">()])</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;test@example.com&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">&#39;test@example.com&#39;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>f<span class=\"o\">.</span>clean<span class=\"p\">(</span><span class=\"s2\">&quot;longemailaddress@example.com&quot;</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"c\">...</span>\n<span class=\"gr\">ValidationError</span>: [&#39;Ensure this value has at most 20 characters (it has 28).&#39;]\n</code></pre></div>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"multivaluefield\">\n<h3><code class=\"docutils literal notranslate\">MultiValueField</code><a class=\"heading-anchor\" href=\"#multivaluefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiValueField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MultiValueField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">fields<span class=\"o\">=</span><span class=\"default_value\">()</span></em>, <em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.MultiValueField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">''</code> (空の文字列)</p></li>\n<li><p>正規化後の値: サブクラスの <code class=\"docutils literal notranslate\">compress</code> メソッドによって返される型になります。</p></li>\n<li><p>指定された引数としての <code class=\"docutils literal notranslate\">MultiValueField</code> に各フィールドに対して与えられた値を検証します。</p></li>\n<li><p>エラーメッセージキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">incomplete</code></p></li>\n</ul>\n<p>複数のフィールドのロジックを集計し、単一の値を生成します。</p>\n<p>このフィールドは抽象フィールドで、サブクラス化する必要があります。単一値フィールドとは対照的に、<a class=\"reference internal\" href=\"#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\">MultiValueField</code></a> のサブクラスは <a class=\"reference internal\" href=\"#django.forms.Field.clean\" title=\"django.forms.Field.clean\"><code class=\"xref py py-meth docutils literal notranslate\">clean()</code></a> を実装してはいけません。代わりに、<a class=\"reference internal\" href=\"#django.forms.MultiValueField.compress\" title=\"django.forms.MultiValueField.compress\"><code class=\"xref py py-meth docutils literal notranslate\">compress()</code></a> を実装します。</p>\n<p>1つの必須の追加引数を受け取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiValueField.fields\">\n<span class=\"sig-name descname\">fields</span><a class=\"heading-anchor\" href=\"#django.forms.MultiValueField.fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>値がクリーニングされた後に単一の値に組み合わされるフィールドのタプル。フィールドの各値は、<code class=\"docutils literal notranslate\">fields</code> 内の対応するフィールドによってクリーニングされます。最初の値は最初のフィールドによって、2番目の値は2番目のフィールドによって、という具合にクリーニングされます。すべてのフィールドがクリーニングされたら、クリーニングされた値のリストは <a class=\"reference internal\" href=\"#django.forms.MultiValueField.compress\" title=\"django.forms.MultiValueField.compress\"><code class=\"xref py py-meth docutils literal notranslate\">compress()</code></a> によって単一の値に結合されます。</p>\n</dd></dl>\n\n<p>オプションの引数もいくつか受け取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiValueField.require_all_fields\">\n<span class=\"sig-name descname\">require_all_fields</span><a class=\"heading-anchor\" href=\"#django.forms.MultiValueField.require_all_fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>デフォルトは <code class=\"docutils literal notranslate\">True</code> で、フィールドに値が指定されていない場合は <code class=\"docutils literal notranslate\">required</code> バリデーションエラーが発生します。</p>\n<p><a class=\"reference internal\" href=\"#django.forms.Field.required\" title=\"django.forms.Field.required\"><code class=\"xref py py-attr docutils literal notranslate\">Field.required</code></a> 属性を <code class=\"docutils literal notranslate\">False</code> に設定すると、個々のフィールドをオプションフィールドにすることができます。必須フィールドに値が与えられない場合、<code class=\"docutils literal notranslate\">incomplete</code> というバリデーションエラーが発生します。</p>\n<p>デフォルトの <code class=\"docutils literal notranslate\">incomplete</code> エラーメッセージは、<a class=\"reference internal\" href=\"#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\">MultiValueField</code></a> のサブクラス上で定義できます。また、個々のフィールドごとに異なるメッセージを定義することもできます。例えば:</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.core.validators</span> <span class=\"kn\">import</span> RegexValidator\n\n\n<span class=\"k\">class</span> <span class=\"nc\">PhoneField</span><span class=\"p\">(</span>MultiValueField<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n        <span class=\"c1\"># Define one message for all fields.</span>\n        error_messages <span class=\"o\">=</span> <span class=\"p\">{</span>\n            <span class=\"s2\">&quot;incomplete&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Enter a country calling code and a phone number.&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">}</span>\n        <span class=\"c1\"># Or define a different message for each field.</span>\n        fields <span class=\"o\">=</span> <span class=\"p\">(</span>\n            CharField<span class=\"p\">(</span>\n                error_messages<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;incomplete&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Enter a country calling code.&quot;</span><span class=\"p\">},</span>\n                validators<span class=\"o\">=</span><span class=\"p\">[</span>\n                    RegexValidator<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^[0-9]+$&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Enter a valid country calling code.&quot;</span><span class=\"p\">),</span>\n                <span class=\"p\">],</span>\n            <span class=\"p\">),</span>\n            CharField<span class=\"p\">(</span>\n                error_messages<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;incomplete&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Enter a phone number.&quot;</span><span class=\"p\">},</span>\n                validators<span class=\"o\">=</span><span class=\"p\">[</span>RegexValidator<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^[0-9]+$&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Enter a valid phone number.&quot;</span><span class=\"p\">)],</span>\n            <span class=\"p\">),</span>\n            CharField<span class=\"p\">(</span>\n                validators<span class=\"o\">=</span><span class=\"p\">[</span>RegexValidator<span class=\"p\">(</span><span class=\"sa\">r</span><span class=\"s2\">&quot;^[0-9]+$&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Enter a valid extension.&quot;</span><span class=\"p\">)],</span>\n                required<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span>\n            <span class=\"p\">),</span>\n        <span class=\"p\">)</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span>\n            error_messages<span class=\"o\">=</span>error_messages<span class=\"p\">,</span>\n            fields<span class=\"o\">=</span>fields<span class=\"p\">,</span>\n            require_all_fields<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span>\n            <span class=\"o\">**</span>kwargs\n        <span class=\"p\">)</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiValueField.widget\">\n<span class=\"sig-name descname\">widget</span><a class=\"heading-anchor\" href=\"#django.forms.MultiValueField.widget\"><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/5.0/ref/forms/widgets/#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\">django.forms.MultiWidget</code></a> のサブクラスでなければなりません。デフォルト値は <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.TextInput\" title=\"django.forms.TextInput\"><code class=\"xref py py-class docutils literal notranslate\">TextInput</code></a> ですが、この場合にはあまり役に立たないかもしれません。</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.MultiValueField.compress\">\n<span class=\"sig-name descname\">compress</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">data_list</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.MultiValueField.compress\"><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.SplitDateTimeField\" title=\"django.forms.SplitDateTimeField\"><code class=\"xref py py-class docutils literal notranslate\">SplitDateTimeField</code></a> は時間フィールドと日付フィールドを組み合わせて <code class=\"docutils literal notranslate\">datetime</code> オブジェクトにするサブクラスです。</p>\n<p>このメソッドはサブクラスで実装されなければなりません。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"splitdatetimefield\">\n<h3><code class=\"docutils literal notranslate\">SplitDateTimeField</code><a class=\"heading-anchor\" href=\"#splitdatetimefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">SplitDateTimeField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.SplitDateTimeWidget\" title=\"django.forms.SplitDateTimeWidget\"><code class=\"xref py py-class docutils literal notranslate\">SplitDateTimeWidget</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: Python の <code class=\"docutils literal notranslate\">datetime.datetime</code> オブジェクトになります。</p></li>\n<li><p>指定された値が <code class=\"docutils literal notranslate\">datetime.datetime</code> または特定の日時形式でフォーマットされた文字列であることを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid</code>, <code class=\"docutils literal notranslate\">invalid_date</code>, <code class=\"docutils literal notranslate\">invalid_time</code></p></li>\n</ul>\n<p>次の2つの省略可能な引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeField.input_date_formats\">\n<span class=\"sig-name descname\">input_date_formats</span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeField.input_date_formats\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を有効な <code class=\"docutils literal notranslate\">datetime.date</code> オブジェクトに変換する試行に使う表示形式のリストです。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">input_date_formats</code> 引数が提供されない場合、<a class=\"reference internal\" href=\"#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\">DateField</code></a> のデフォルトの入力フォーマットが使用されます。</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.SplitDateTimeField.input_time_formats\">\n<span class=\"sig-name descname\">input_time_formats</span><a class=\"heading-anchor\" href=\"#django.forms.SplitDateTimeField.input_time_formats\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>文字列を有効な <code class=\"docutils literal notranslate\">datetime.time</code> オブジェクトに変換しようとする際に使用されるフォーマットのリスト。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">input_time_formats</code> 引数が提供されない場合、<a class=\"reference internal\" href=\"#django.forms.TimeField\" title=\"django.forms.TimeField\"><code class=\"xref py py-class docutils literal notranslate\">TimeField</code></a> のデフォルト入力フォーマットが使用されます。</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"fields-which-handle-relationships\">\n<span id=\"id2\"></span><h2>リレーションシップを扱うフィールド<a class=\"heading-anchor\" href=\"#fields-which-handle-relationships\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>モデル間のリレーションシップを表すために2つのフィールドが利用可能です： <a class=\"reference internal\" href=\"#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField</code></a> と <a class=\"reference internal\" href=\"#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelMultipleChoiceField</code></a> です。これらのフィールドの両方には、フィールドの選択肢を作成するために使用される単一の <code class=\"docutils literal notranslate\">queryset</code> パラメータが必要です。フォーム検証時、これらのフィールドは、フォームの <code class=\"docutils literal notranslate\">cleaned_data</code> 辞書に一つのモデルオブジェクト ( <code class=\"docutils literal notranslate\">ModelChoiceField</code> の場合) または複数のモデルオブジェクト ( <code class=\"docutils literal notranslate\">ModelMultipleChoiceField</code> の場合) を配置します。</p>\n<p>より複雑な使い方をする場合は、フォームフィールドを宣言する際に <code class=\"docutils literal notranslate\">queryset=None</code> を指定し、その後フォームの <code class=\"docutils literal notranslate\">__init__()</code> メソッド内で <code class=\"docutils literal notranslate\">queryset</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=\"k\">class</span> <span class=\"nc\">FooMultipleChoiceForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n    foo_select <span class=\"o\">=</span> forms<span class=\"o\">.</span>ModelMultipleChoiceField<span class=\"p\">(</span>queryset<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">):</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"o\">*</span>args<span class=\"p\">,</span> <span class=\"o\">**</span>kwargs<span class=\"p\">)</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span>fields<span class=\"p\">[</span><span class=\"s2\">&quot;foo_select&quot;</span><span class=\"p\">]</span><span class=\"o\">.</span>queryset <span class=\"o\">=</span> <span class=\"o\">...</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">ModelChoiceField</code> と <code class=\"docutils literal notranslate\">ModelMultipleChoiceField</code> には、選択肢を生成する際にクエリセットを繰り返すために使用されるクラスを指定する <code class=\"docutils literal notranslate\">iterator</code> 属性があります。詳細は、 <a class=\"reference internal\" href=\"#iterating-relationship-choices\"><span class=\"std std-ref\">リレーションシップの選択肢をイテレートする</span></a> を参照してください。</p>\n<section id=\"modelchoicefield\">\n<h3><code class=\"docutils literal notranslate\">ModelChoiceField</code><a class=\"heading-anchor\" href=\"#modelchoicefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ModelChoiceField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\">Select</code></a></p></li>\n<li><p>空の値: <code class=\"docutils literal notranslate\">None</code></p></li>\n<li><p>正規化後の値: model インスタンスに正規化されます。</p></li>\n<li><p>指定された id がクエリセット内に存在することを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">invalid_choice</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">invalid_choice</code> エラーメッセージには <code class=\"docutils literal notranslate\">%(value)s</code> が含まれていることがあり、選択された選択肢に置き換えられます。</p>\n<p>外部キーを表すのに適した単一のモデルオブジェクトの選択を許可します。<code class=\"docutils literal notranslate\">ModelChoiceField</code> のデフォルトウィジェットは、エントリーの数が増えると非実用的になることに注意してください。100項目以上には使用を避けるべきです。</p>\n<p>引数が1つ必要です:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceField.queryset\">\n<span class=\"sig-name descname\">queryset</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceField.queryset\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>モデルオブジェクトの <code class=\"docutils literal notranslate\">QuerySet</code> で、フィールドの選択肢を導き出し、ユーザーの選択を検証するために使用されます。フォームがレンダリングされるときに評価されます。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">ModelChoiceField</code> は他にもいくつかのオプション引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceField.empty_label\">\n<span class=\"sig-name descname\">empty_label</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceField.empty_label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>デフォルトでは、<code class=\"docutils literal notranslate\">ModelChoiceField</code> が使用する <code class=\"docutils literal notranslate\">&lt;select&gt;</code> ウィジェットには、リストの先頭に空の選択肢が表示されます。このラベルのテキスト（デフォルトでは <code class=\"docutils literal notranslate\">&quot;---------&quot;</code>）を <code class=\"docutils literal notranslate\">empty_label</code> 属性で変更したり、<code class=\"docutils literal notranslate\">empty_label</code> を <code class=\"docutils literal notranslate\">None</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=\"c1\"># A custom empty label</span>\nfield1 <span class=\"o\">=</span> forms<span class=\"o\">.</span>ModelChoiceField<span class=\"p\">(</span>queryset<span class=\"o\">=...</span><span class=\"p\">,</span> empty_label<span class=\"o\">=</span><span class=\"s2\">&quot;(Nothing)&quot;</span><span class=\"p\">)</span>\n\n<span class=\"c1\"># No empty label</span>\nfield2 <span class=\"o\">=</span> forms<span class=\"o\">.</span>ModelChoiceField<span class=\"p\">(</span>queryset<span class=\"o\">=...</span><span class=\"p\">,</span> empty_label<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\">ModelChoiceField</code> が必須でデフォルトの初期値を持っている場合や、<code class=\"docutils literal notranslate\">widget</code> が <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.RadioSelect\" title=\"django.forms.RadioSelect\"><code class=\"xref py py-class docutils literal notranslate\">RadioSelect</code></a> に設定されており <a class=\"reference internal\" href=\"#django.forms.ModelChoiceField.blank\" title=\"django.forms.ModelChoiceField.blank\"><code class=\"xref py py-attr docutils literal notranslate\">blank</code></a> 引数が <code class=\"docutils literal notranslate\">False</code> の場合には、 <code class=\"docutils literal notranslate\">empty_label</code> の値に関係なく空の選択肢は作成されません。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceField.to_field_name\">\n<span class=\"sig-name descname\">to_field_name</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceField.to_field_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>このオプション引数は、フィールドのウィジェットの選択肢の値として使用するフィールドを指定するために使用されます。選択された値が複数のオブジェクトに一致する可能性があるため、モデルにとって一意のフィールドであることを確認してください。デフォルトでは <code class=\"docutils literal notranslate\">None</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=\"c1\"># No custom to_field_name</span>\nfield1 <span class=\"o\">=</span> forms<span class=\"o\">.</span>ModelChoiceField<span class=\"p\">(</span>queryset<span class=\"o\">=...</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>上記によって、下記が得られます:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</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=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">select</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_field1&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;field1&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;obj1.pk&quot;</span><span class=\"p\">&gt;</span>Object1<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;obj2.pk&quot;</span><span class=\"p\">&gt;</span>Object2<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n...\n<span class=\"p\">&lt;/</span><span class=\"nt\">select</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>そして、:</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=\"c1\"># to_field_name provided</span>\nfield2 <span class=\"o\">=</span> forms<span class=\"o\">.</span>ModelChoiceField<span class=\"p\">(</span>queryset<span class=\"o\">=...</span><span class=\"p\">,</span> to_field_name<span class=\"o\">=</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>上記によって、下記が得られます:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</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=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">select</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_field2&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;field2&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;obj1.name&quot;</span><span class=\"p\">&gt;</span>Object1<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;obj2.name&quot;</span><span class=\"p\">&gt;</span>Object2<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n...\n<span class=\"p\">&lt;/</span><span class=\"nt\">select</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceField.blank\">\n<span class=\"sig-name descname\">blank</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceField.blank\"><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/5.0/ref/forms/widgets/#django.forms.RadioSelect\" title=\"django.forms.RadioSelect\"><code class=\"xref py py-class docutils literal notranslate\">RadioSelect</code></a> ウィジェットを使用する場合、このオプションのブール引数は空の選択肢を作成するかどうかを決定します。デフォルトでは、<code class=\"docutils literal notranslate\">blank</code> は <code class=\"docutils literal notranslate\">False</code> で、空の選択肢は作成されません。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">ModelChoiceField</code> には、以下の属性もあります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceField.iterator\">\n<span class=\"sig-name descname\">iterator</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceField.iterator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">queryset</code> からフィールド選択肢を生成するために使用されるイテレータクラス。デフォルトでは、<a class=\"reference internal\" href=\"#django.forms.ModelChoiceIterator\" title=\"django.forms.ModelChoiceIterator\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceIterator</code></a> です。</p>\n</dd></dl>\n\n<p>モデルの <code class=\"docutils literal notranslate\">__str__()</code> メソッドは、フィールドの選択肢で使用するためにオブジェクトの文字列表現を生成するために呼び出されます。カスタマイズした表現を提供するには、<code class=\"docutils literal notranslate\">ModelChoiceField</code> をサブクラス化して <code class=\"docutils literal notranslate\">label_from_instance</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> ModelChoiceField\n\n\n<span class=\"k\">class</span> <span class=\"nc\">MyModelChoiceField</span><span class=\"p\">(</span>ModelChoiceField<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"nf\">label_from_instance</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> obj<span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"s2\">&quot;My Object #</span><span class=\"si\">%i</span><span class=\"s2\">&quot;</span> <span class=\"o\">%</span> obj<span class=\"o\">.</span>id\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"modelmultiplechoicefield\">\n<h3><code class=\"docutils literal notranslate\">ModelMultipleChoiceField</code><a class=\"heading-anchor\" href=\"#modelmultiplechoicefield\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelMultipleChoiceField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ModelMultipleChoiceField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ModelMultipleChoiceField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><ul class=\"simple\">\n<li><p>デフォルトのウィジェット: <a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.SelectMultiple\" title=\"django.forms.SelectMultiple\"><code class=\"xref py py-class docutils literal notranslate\">SelectMultiple</code></a></p></li>\n<li><p>空の値: 空の <code class=\"docutils literal notranslate\">QuerySet</code> (<code class=\"docutils literal notranslate\">self.queryset.none()</code>)</p></li>\n<li><p>正規化後の値: モデルインスタンスの <code class=\"docutils literal notranslate\">QuerySet</code> になります。</p></li>\n<li><p>与えられた値のリスト内のすべてのIDがクエリセット内に存在することを検証します。</p></li>\n<li><p>エラーメッセージのキー: <code class=\"docutils literal notranslate\">required</code>、 <code class=\"docutils literal notranslate\">invalid_list</code>、 <code class=\"docutils literal notranslate\">invalid_choice</code>、 <code class=\"docutils literal notranslate\">invalid_pk_value</code></p></li>\n</ul>\n<p><code class=\"docutils literal notranslate\">invalid_choice</code> メッセージには <code class=\"docutils literal notranslate\">%(value)s</code> が含まれる可能性があり、<code class=\"docutils literal notranslate\">invalid_pk_value</code> メッセージには <code class=\"docutils literal notranslate\">%(pk)s</code> が含まれる可能性があります。これらは適切な値に置き換えられます。</p>\n<p>一つまたは複数のモデルオブジェクトを選択できるようにし、多対多のリレーションシップを表すのに適しています。<a class=\"reference internal\" href=\"#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField</code></a> と同様に, <code class=\"docutils literal notranslate\">label_from_instance</code> を使用してオブジェクトの表現をカスタマイズできます。</p>\n<p>引数が1つ必要です:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelMultipleChoiceField.queryset\">\n<span class=\"sig-name descname\">queryset</span><a class=\"heading-anchor\" href=\"#django.forms.ModelMultipleChoiceField.queryset\"><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.ModelChoiceField.queryset\" title=\"django.forms.ModelChoiceField.queryset\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField.queryset</code></a> と同じです。</p>\n</dd></dl>\n\n<p>1 つの省略可能な引数を取ります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelMultipleChoiceField.to_field_name\">\n<span class=\"sig-name descname\">to_field_name</span><a class=\"heading-anchor\" href=\"#django.forms.ModelMultipleChoiceField.to_field_name\"><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.ModelChoiceField.to_field_name\" title=\"django.forms.ModelChoiceField.to_field_name\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField.to_field_name</code></a> と同じです。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">ModelMultipleChoiceField</code> には次の属性もあります:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelMultipleChoiceField.iterator\">\n<span class=\"sig-name descname\">iterator</span><a class=\"heading-anchor\" href=\"#django.forms.ModelMultipleChoiceField.iterator\"><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.ModelChoiceField.iterator\" title=\"django.forms.ModelChoiceField.iterator\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField.iterator</code></a> と同じです。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"iterating-relationship-choices\">\n<span id=\"id3\"></span><h3>リレーションシップの選択肢をイテレートする<a class=\"heading-anchor\" href=\"#iterating-relationship-choices\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>デフォルトでは、<a class=\"reference internal\" href=\"#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField</code></a> と <a class=\"reference internal\" href=\"#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelMultipleChoiceField</code></a> は、<a class=\"reference internal\" href=\"#django.forms.ModelChoiceIterator\" title=\"django.forms.ModelChoiceIterator\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceIterator</code></a> を使用して、フィールドの <code class=\"docutils literal notranslate\">choices</code> を生成します。</p>\n<p><code class=\"docutils literal notranslate\">ModelChoiceIterator</code> をイテレートすると、1つ目の <code class=\"docutils literal notranslate\">value</code> 要素として <a class=\"reference internal\" href=\"#django.forms.ModelChoiceIteratorValue\" title=\"django.forms.ModelChoiceIteratorValue\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceIteratorValue</code></a> インスタンスを含む2値タプルの選択肢が生成されます。 <code class=\"docutils literal notranslate\">ModelChoiceIteratorValue</code> は、選択値をラップし、カスタムウィジェットの実装で使用できる元のモデルインスタンスへの参照を保持します。たとえば、 <code class=\"docutils literal notranslate\">&lt;option&gt;</code> 要素に <a class=\"reference external\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/data-*\">data-* attributes</a> を追加するのに使用できます。</p>\n<p>例として、以下のモデルを考えてみましょう:</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.db</span> <span class=\"kn\">import</span> models\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Topping</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">100</span><span class=\"p\">)</span>\n    price <span class=\"o\">=</span> models<span class=\"o\">.</span>DecimalField<span class=\"p\">(</span>decimal_places<span class=\"o\">=</span><span class=\"mi\">2</span><span class=\"p\">,</span> max_digits<span class=\"o\">=</span><span class=\"mi\">6</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"fm\">__str__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span>name\n\n\n<span class=\"k\">class</span> <span class=\"nc\">Pizza</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    topping <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>Topping<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n</code></pre></div>\n<p><a class=\"reference internal\" href=\"/ja/5.0/ref/forms/widgets/#django.forms.Select\" title=\"django.forms.Select\"><code class=\"xref py py-class docutils literal notranslate\">Select</code></a> ウィジェットのサブクラスを使用して、各 <code class=\"docutils literal notranslate\">&lt;option&gt;</code> 要素の HTML 属性 <code class=\"docutils literal notranslate\">data-price</code> として <code class=\"docutils literal notranslate\">Topping.price</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</span> <span class=\"kn\">import</span> forms\n\n\n<span class=\"k\">class</span> <span class=\"nc\">ToppingSelect</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Select<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"nf\">create_option</span><span class=\"p\">(</span>\n        <span class=\"bp\">self</span><span class=\"p\">,</span> name<span class=\"p\">,</span> value<span class=\"p\">,</span> label<span class=\"p\">,</span> selected<span class=\"p\">,</span> index<span class=\"p\">,</span> subindex<span class=\"o\">=</span><span class=\"kc\">None</span><span class=\"p\">,</span> attrs<span class=\"o\">=</span><span class=\"kc\">None</span>\n    <span class=\"p\">):</span>\n        option <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span>create_option<span class=\"p\">(</span>\n            name<span class=\"p\">,</span> value<span class=\"p\">,</span> label<span class=\"p\">,</span> selected<span class=\"p\">,</span> index<span class=\"p\">,</span> subindex<span class=\"p\">,</span> attrs\n        <span class=\"p\">)</span>\n        <span class=\"k\">if</span> value<span class=\"p\">:</span>\n            option<span class=\"p\">[</span><span class=\"s2\">&quot;attrs&quot;</span><span class=\"p\">][</span><span class=\"s2\">&quot;data-price&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> value<span class=\"o\">.</span>instance<span class=\"o\">.</span>price\n        <span class=\"k\">return</span> option\n\n\n<span class=\"k\">class</span> <span class=\"nc\">PizzaForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</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> Pizza\n        fields <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;topping&quot;</span><span class=\"p\">]</span>\n        widgets <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s2\">&quot;topping&quot;</span><span class=\"p\">:</span> ToppingSelect<span class=\"p\">}</span>\n</code></pre></div>\n<p>これにより、<code class=\"docutils literal notranslate\">Pizza.topping</code> 選択肢は以下のようにレンダリングされます:</p>\n<div class=\"code-block\" data-language=\"html\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Html</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=\"Html code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">select</span> <span class=\"na\">id</span><span class=\"o\">=</span><span class=\"s\">&quot;id_topping&quot;</span> <span class=\"na\">name</span><span class=\"o\">=</span><span class=\"s\">&quot;topping&quot;</span> <span class=\"na\">required</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;&quot;</span> <span class=\"na\">selected</span><span class=\"p\">&gt;</span>---------<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;1&quot;</span> <span class=\"na\">data-price</span><span class=\"o\">=</span><span class=\"s\">&quot;1.50&quot;</span><span class=\"p\">&gt;</span>mushrooms<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;2&quot;</span> <span class=\"na\">data-price</span><span class=\"o\">=</span><span class=\"s\">&quot;1.25&quot;</span><span class=\"p\">&gt;</span>onions<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;3&quot;</span> <span class=\"na\">data-price</span><span class=\"o\">=</span><span class=\"s\">&quot;1.75&quot;</span><span class=\"p\">&gt;</span>peppers<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;</span><span class=\"nt\">option</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;4&quot;</span> <span class=\"na\">data-price</span><span class=\"o\">=</span><span class=\"s\">&quot;2.00&quot;</span><span class=\"p\">&gt;</span>pineapple<span class=\"p\">&lt;/</span><span class=\"nt\">option</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">select</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>より高度な使い方をする場合は、 <code class=\"docutils literal notranslate\">ModelChoiceIterator</code> をサブクラスにして、得られる2値タプルの選択肢をカスタマイズできます。</p>\n<section id=\"modelchoiceiterator\">\n<h4><code class=\"docutils literal notranslate\">ModelChoiceIterator</code><a class=\"heading-anchor\" href=\"#modelchoiceiterator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIterator\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ModelChoiceIterator</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">field</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIterator\"><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.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceField</code></a> と <a class=\"reference internal\" href=\"#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\">ModelMultipleChoiceField</code></a> の <code class=\"docutils literal notranslate\">iterator</code> 属性に割り当てられたデフォルトのクラスです。クエリセットから 2 タプルの選択肢を返すイテレータです。</p>\n<p>引数が1つ必要です:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIterator.field\">\n<span class=\"sig-name descname\">field</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIterator.field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">ModelChoiceField</code> または <code class=\"docutils literal notranslate\">ModelMultipleChoiceField</code> のインスタンスをイテレートして選択肢を生成します。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">ModelChoiceIterator</code> には、以下のメソッドがあります:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIterator.__iter__\">\n<span class=\"sig-name descname\">__iter__</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIterator.__iter__\"><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.ChoiceField.choices\" title=\"django.forms.ChoiceField.choices\"><code class=\"xref py py-attr docutils literal notranslate\">ChoiceField.choices</code></a> で使用される <code class=\"docutils literal notranslate\">(value, label)</code> フォーマットの 2値タプルの選択肢を生成します。最初の <code class=\"docutils literal notranslate\">value</code> 要素は <a class=\"reference internal\" href=\"#django.forms.ModelChoiceIteratorValue\" title=\"django.forms.ModelChoiceIteratorValue\"><code class=\"xref py py-class docutils literal notranslate\">ModelChoiceIteratorValue</code></a> インスタンスです。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"modelchoiceiteratorvalue\">\n<h4><code class=\"docutils literal notranslate\">ModelChoiceIteratorValue</code><a class=\"heading-anchor\" href=\"#modelchoiceiteratorvalue\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIteratorValue\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ModelChoiceIteratorValue</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em>, <em class=\"sig-param\">instance</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIteratorValue\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>2 つの引数が必要です:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIteratorValue.value\">\n<span class=\"sig-name descname\">value</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIteratorValue.value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>選択肢の値です。HTMLの <code class=\"docutils literal notranslate\">&lt;option&gt;</code> 要素の <code class=\"docutils literal notranslate\">value</code> 属性のレンダリングに使用されます。</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIteratorValue.instance\">\n<span class=\"sig-name descname\">instance</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIteratorValue.instance\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>クエリセットのモデルインスタンス。このインスタンスはカスタム <code class=\"docutils literal notranslate\">ChoiceWidget.create_option()</code> の実装でアクセスし、レンダリングされるHTMLを調整できます。</p>\n</dd></dl>\n\n<p><code class=\"docutils literal notranslate\">ModelChoiceIteratorValue</code> には次のメソッドがあります:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.forms.ModelChoiceIteratorValue.__str__\">\n<span class=\"sig-name descname\">__str__</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.forms.ModelChoiceIteratorValue.__str__\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\">value</code> を HTML でレンダリングするための文字列として返します。</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n</section>\n<section id=\"creating-custom-fields\">\n<h2>カスタムフィールドの作成<a class=\"heading-anchor\" href=\"#creating-custom-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>組み込みの <code class=\"docutils literal notranslate\">Field</code> クラスが要件を満たさない場合は、カスタムの <code class=\"docutils literal notranslate\">Field</code> クラスを作成できます。これには、 <code class=\"docutils literal notranslate\">django.forms.Field</code> のサブクラスを作成します。唯一の要件は、 <code class=\"docutils literal notranslate\">clean()</code> メソッドを実装し、 <code class=\"docutils literal notranslate\">__init__()</code> メソッドが上述の基本的な引数 (<code class=\"docutils literal notranslate\">required</code>, <code class=\"docutils literal notranslate\">label</code>, <code class=\"docutils literal notranslate\">initial</code>, <code class=\"docutils literal notranslate\">widget</code>, <code class=\"docutils literal notranslate\">help_text</code>) を受け入れることです。</p>\n<p><a class=\"reference internal\" href=\"/ja/5.0/ref/forms/api/#django.forms.Field.get_bound_field\" title=\"django.forms.Field.get_bound_field\"><code class=\"xref py py-meth docutils literal notranslate\">get_bound_field()</code></a> をオーバーライドすることで、フィールドへのアクセス方法をカスタマイズすることもできます。</p>\n</section>","rootId":"module-django.forms.fields","toc":[{"title":"field のコアとなる引数","anchor":"core-field-arguments","children":[{"title":"required","anchor":"required","children":[]},{"title":"label","anchor":"label","children":[]},{"title":"label_suffix","anchor":"label-suffix","children":[]},{"title":"initial","anchor":"initial","children":[]},{"title":"widget","anchor":"widget","children":[]},{"title":"help_text","anchor":"help-text","children":[]},{"title":"error_messages","anchor":"error-messages","children":[]},{"title":"validators","anchor":"validators","children":[]},{"title":"localize","anchor":"localize","children":[]},{"title":"disabled","anchor":"disabled","children":[]},{"title":"template_name","anchor":"template-name","children":[]}]},{"title":"フィールドのデータの変更チェック","anchor":"checking-if-the-field-data-has-changed","children":[{"title":"has_changed()","anchor":"has-changed","children":[]}]},{"title":"ビルトインの Field クラス","anchor":"built-in-field-classes","children":[{"title":"BooleanField","anchor":"booleanfield","children":[]},{"title":"CharField","anchor":"charfield","children":[]},{"title":"ChoiceField","anchor":"choicefield","children":[]},{"title":"DateField","anchor":"datefield","children":[]},{"title":"DateTimeField","anchor":"datetimefield","children":[]},{"title":"DecimalField","anchor":"decimalfield","children":[]},{"title":"DurationField","anchor":"durationfield","children":[]},{"title":"EmailField","anchor":"emailfield","children":[]},{"title":"FileField","anchor":"filefield","children":[]},{"title":"FilePathField","anchor":"filepathfield","children":[]},{"title":"FloatField","anchor":"floatfield","children":[]},{"title":"GenericIPAddressField","anchor":"genericipaddressfield","children":[]},{"title":"ImageField","anchor":"imagefield","children":[]},{"title":"IntegerField","anchor":"integerfield","children":[]},{"title":"JSONField","anchor":"jsonfield","children":[]},{"title":"MultipleChoiceField","anchor":"multiplechoicefield","children":[]},{"title":"NullBooleanField","anchor":"nullbooleanfield","children":[]},{"title":"RegexField","anchor":"regexfield","children":[]},{"title":"SlugField","anchor":"slugfield","children":[]},{"title":"TimeField","anchor":"timefield","children":[]},{"title":"TypedChoiceField","anchor":"typedchoicefield","children":[]},{"title":"TypedMultipleChoiceField","anchor":"typedmultiplechoicefield","children":[]},{"title":"URLField","anchor":"urlfield","children":[]},{"title":"UUIDField","anchor":"uuidfield","children":[]}]},{"title":"少し複雑な組み込み Field クラス","anchor":"slightly-complex-built-in-field-classes","children":[{"title":"ComboField","anchor":"combofield","children":[]},{"title":"MultiValueField","anchor":"multivaluefield","children":[]},{"title":"SplitDateTimeField","anchor":"splitdatetimefield","children":[]}]},{"title":"リレーションシップを扱うフィールド","anchor":"fields-which-handle-relationships","children":[{"title":"ModelChoiceField","anchor":"modelchoicefield","children":[]},{"title":"ModelMultipleChoiceField","anchor":"modelmultiplechoicefield","children":[]},{"title":"リレーションシップの選択肢をイテレートする","anchor":"iterating-relationship-choices","children":[{"title":"ModelChoiceIterator","anchor":"modelchoiceiterator","children":[]},{"title":"ModelChoiceIteratorValue","anchor":"modelchoiceiteratorvalue","children":[]}]}]},{"title":"カスタムフィールドの作成","anchor":"creating-custom-fields","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/5.0/ref/"},{"docname":"ref/forms/index","title":"フォーム","url":"/ja/5.0/ref/forms/"}],"prev":{"docname":"ref/forms/api","title":"フォーム API","url":"/ja/5.0/ref/forms/api/"},"next":{"docname":"ref/forms/models","title":"モデルフォーム関数","url":"/ja/5.0/ref/forms/models/"},"formats":{"html":"/ja/5.0/ref/forms/fields/","markdown":"/ja/5.0/ref/forms/fields.md","json":"/ja/5.0/ref/forms/fields.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/ref/forms/fields.txt","official":"https://docs.djangoproject.com/ja/5.0/ref/forms/fields/","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","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}