{"title":"PostgreSQL specific form fields and widgets","version":"1.10","locale":"ja","docname":"ref/contrib/postgres/forms","url":"/ja/1.10/ref/contrib/postgres/forms/","canonical":"https://djangodocs.dev/ja/1.10/ref/contrib/postgres/forms/","summary":"All of these fields and widgets are available from the django.contrib.postgres.forms module.","html":"<h1>PostgreSQL specific form fields and widgets<a class=\"heading-anchor\" href=\"#postgresql-specific-form-fields-and-widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>All of these fields and widgets are available from the\n<code class=\"docutils literal notranslate\">django.contrib.postgres.forms</code> module.</p>\n<section id=\"fields\">\n<h2>フィールド<a class=\"heading-anchor\" href=\"#fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"simplearrayfield\">\n<h3><code class=\"docutils literal notranslate\">SimpleArrayField</code><a class=\"heading-anchor\" href=\"#simplearrayfield\"><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.contrib.postgres.forms.SimpleArrayField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">SimpleArrayField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">base_field</em>, <em class=\"sig-param\">delimiter<span class=\"o\">=</span><span class=\"default_value\">','</span></em>, <em class=\"sig-param\">max_length<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">min_length<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SimpleArrayField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A simple field which maps to an array. It is represented by an HTML\n<code class=\"docutils literal notranslate\">&lt;input&gt;</code>.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SimpleArrayField.base_field\">\n<span class=\"sig-name descname\">base_field</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SimpleArrayField.base_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is a required argument.</p>\n<p>It specifies the underlying form field for the array. This is not used\nto render any HTML, but it is used to process the submitted data and\nvalidate it. For example:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.postgres.forms</span> <span class=\"kn\">import</span> SimpleArrayField\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\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">NumberListForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    numbers <span class=\"o\">=</span> SimpleArrayField<span class=\"p\">(</span>forms<span class=\"o\">.</span>IntegerField<span class=\"p\">())</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>form <span class=\"o\">=</span> NumberListForm<span class=\"p\">({</span><span class=\"s1\">&#39;numbers&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;1,2,3&#39;</span><span class=\"p\">})</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>form<span class=\"o\">.</span>cleaned_data\n<span class=\"go\">{&#39;numbers&#39;: [1, 2, 3]}</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>form <span class=\"o\">=</span> NumberListForm<span class=\"p\">({</span><span class=\"s1\">&#39;numbers&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;1,2,a&#39;</span><span class=\"p\">})</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>form<span class=\"o\">.</span>is_valid<span class=\"p\">()</span>\n<span class=\"go\">False</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SimpleArrayField.delimiter\">\n<span class=\"sig-name descname\">delimiter</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SimpleArrayField.delimiter\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is an optional argument which defaults to a comma: <code class=\"docutils literal notranslate\">,</code>. This\nvalue is used to split the submitted data. It allows you to chain\n<code class=\"docutils literal notranslate\">SimpleArrayField</code> for multidimensional data:</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=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.postgres.forms</span> <span class=\"kn\">import</span> SimpleArrayField\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\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"k\">class</span> <span class=\"nc\">GridForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n<span class=\"gp\">... </span>    places <span class=\"o\">=</span> SimpleArrayField<span class=\"p\">(</span>SimpleArrayField<span class=\"p\">(</span>IntegerField<span class=\"p\">()),</span> delimiter<span class=\"o\">=</span><span class=\"s1\">&#39;|&#39;</span><span class=\"p\">)</span>\n\n<span class=\"gp\">&gt;&gt;&gt; </span>form <span class=\"o\">=</span> GridForm<span class=\"p\">({</span><span class=\"s1\">&#39;places&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;1,2|2,1|4,3&#39;</span><span class=\"p\">})</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>form<span class=\"o\">.</span>cleaned_data\n<span class=\"go\">{&#39;places&#39;: [[1, 2], [2, 1], [4, 3]]}</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>The field does not support escaping of the delimiter, so be careful\nin cases where the delimiter is a valid character in the underlying\nfield. The delimiter does not need to be only one character.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SimpleArrayField.max_length\">\n<span class=\"sig-name descname\">max_length</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SimpleArrayField.max_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is an optional argument which validates that the array does not\nexceed the stated length.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SimpleArrayField.min_length\">\n<span class=\"sig-name descname\">min_length</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SimpleArrayField.min_length\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is an optional argument which validates that the array reaches at\nleast the stated length.</p>\n</dd></dl>\n\n<aside class=\"admonition-user-friendly-forms admonition\" role=\"note\">\n<p class=\"admonition-title\">User friendly forms</p>\n<p><code class=\"docutils literal notranslate\">SimpleArrayField</code> is not particularly user friendly in most cases,\nhowever it is a useful way to format data from a client-side widget for\nsubmission to the server.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"splitarrayfield\">\n<h3><code class=\"docutils literal notranslate\">SplitArrayField</code><a class=\"heading-anchor\" href=\"#splitarrayfield\"><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.contrib.postgres.forms.SplitArrayField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">SplitArrayField</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">base_field</em>, <em class=\"sig-param\">size</em>, <em class=\"sig-param\">remove_trailing_nulls<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SplitArrayField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This field handles arrays by reproducing the underlying field a fixed\nnumber of times.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SplitArrayField.base_field\">\n<span class=\"sig-name descname\">base_field</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SplitArrayField.base_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is a required argument. It specifies the form field to be\nrepeated.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SplitArrayField.size\">\n<span class=\"sig-name descname\">size</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SplitArrayField.size\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>This is the fixed number of times the underlying field will be used.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.SplitArrayField.remove_trailing_nulls\">\n<span class=\"sig-name descname\">remove_trailing_nulls</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.SplitArrayField.remove_trailing_nulls\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>By default, this is set to <code class=\"docutils literal notranslate\">False</code>. When <code class=\"docutils literal notranslate\">False</code>, each value from\nthe repeated fields is stored. When set to <code class=\"docutils literal notranslate\">True</code>, any trailing\nvalues which are blank will be stripped from the result. If the\nunderlying field has <code class=\"docutils literal notranslate\">required=True</code>, but <code class=\"docutils literal notranslate\">remove_trailing_nulls</code>\nis <code class=\"docutils literal notranslate\">True</code>, then null values are only allowed at the end, and will be\nstripped.</p>\n<p>Some examples:</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>SplitArrayField<span class=\"p\">(</span>IntegerField<span class=\"p\">(</span>required<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">),</span> size<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">,</span> remove_trailing_nulls<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2, 3]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; ValidationError - third entry required.</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; ValidationError - second entry required.</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; ValidationError - first and third entries required.</span>\n\nSplitArrayField<span class=\"p\">(</span>IntegerField<span class=\"p\">(</span>required<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">),</span> size<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">,</span> remove_trailing_nulls<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2, 3]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2, None]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, None, 3]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [None, 2, None]</span>\n\nSplitArrayField<span class=\"p\">(</span>IntegerField<span class=\"p\">(</span>required<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">),</span> size<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">,</span> remove_trailing_nulls<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2, 3]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; ValidationError - second entry required.</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; ValidationError - first entry required.</span>\n\nSplitArrayField<span class=\"p\">(</span>IntegerField<span class=\"p\">(</span>required<span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">),</span> size<span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">,</span> remove_trailing_nulls<span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2, 3]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, 2]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;1&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;3&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [1, None, 3]</span>\n<span class=\"p\">[</span><span class=\"s1\">&#39;&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;2&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;&#39;</span><span class=\"p\">]</span>  <span class=\"c1\"># -&gt; [None, 2]</span>\n</code></pre></div>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"hstorefield\">\n<h3><code class=\"docutils literal notranslate\">HStoreField</code><a class=\"heading-anchor\" href=\"#hstorefield\"><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.contrib.postgres.forms.HStoreField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">HStoreField</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.HStoreField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A field which accepts JSON encoded data for an\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField\" title=\"django.contrib.postgres.fields.HStoreField\"><code class=\"xref py py-class docutils literal notranslate\">HStoreField</code></a>. It will cast all the\nvalues to strings. It is represented by an HTML <code class=\"docutils literal notranslate\">&lt;textarea&gt;</code>.</p>\n<aside class=\"admonition-user-friendly-forms admonition\" role=\"note\">\n<p class=\"admonition-title\">User friendly forms</p>\n<p><code class=\"docutils literal notranslate\">HStoreField</code> is not particularly user friendly in most cases,\nhowever it is a useful way to format data from a client-side widget for\nsubmission to the server.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>On occasions it may be useful to require or restrict the keys which are\nvalid for a given field. This can be done using the\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/validators/#django.contrib.postgres.validators.KeysValidator\" title=\"django.contrib.postgres.validators.KeysValidator\"><code class=\"xref py py-class docutils literal notranslate\">KeysValidator</code></a>.</p>\n</aside>\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.contrib.postgres.forms.JSONField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">JSONField</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.JSONField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A field which accepts JSON encoded data for a\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.JSONField\" title=\"django.contrib.postgres.fields.JSONField\"><code class=\"xref py py-class docutils literal notranslate\">JSONField</code></a>. It is represented by an\nHTML <code class=\"docutils literal notranslate\">&lt;textarea&gt;</code>.</p>\n<aside class=\"admonition-user-friendly-forms admonition\" role=\"note\">\n<p class=\"admonition-title\">User friendly forms</p>\n<p><code class=\"docutils literal notranslate\">JSONField</code> is not particularly user friendly in most cases, however\nit is a useful way to format data from a client-side widget for\nsubmission to the server.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"range-fields\">\n<h3>Range Fields<a class=\"heading-anchor\" href=\"#range-fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>This group of fields all share similar functionality for accepting range data.\nThey are based on <a class=\"reference internal\" href=\"/ja/1.10/ref/forms/fields/#django.forms.MultiValueField\" title=\"django.forms.MultiValueField\"><code class=\"xref py py-class docutils literal notranslate\">MultiValueField</code></a>. They treat one\nomitted value as an unbounded range. They also validate that the lower bound is\nnot greater than the upper bound. All of these fields use\n<a class=\"reference internal\" href=\"#django.contrib.postgres.forms.RangeWidget\" title=\"django.contrib.postgres.forms.RangeWidget\"><code class=\"xref py py-class docutils literal notranslate\">RangeWidget</code></a>.</p>\n<section id=\"integerrangefield\">\n<h4><code class=\"docutils literal notranslate\">IntegerRangeField</code><a class=\"heading-anchor\" href=\"#integerrangefield\"><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.contrib.postgres.forms.IntegerRangeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">IntegerRangeField</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.IntegerRangeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Based on <a class=\"reference internal\" href=\"/ja/1.10/ref/forms/fields/#django.forms.IntegerField\" title=\"django.forms.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\">IntegerField</code></a> and translates its input into\n<a class=\"reference external\" href=\"https://www.psycopg.org/docs/extras.html#psycopg2.extras.NumericRange\" title=\"(in Psycopg v2.9)\"><code class=\"xref py py-class docutils literal notranslate\">NumericRange</code></a>. Default for\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.IntegerRangeField\" title=\"django.contrib.postgres.fields.IntegerRangeField\"><code class=\"xref py py-class docutils literal notranslate\">IntegerRangeField</code></a> and\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.BigIntegerRangeField\" title=\"django.contrib.postgres.fields.BigIntegerRangeField\"><code class=\"xref py py-class docutils literal notranslate\">BigIntegerRangeField</code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"floatrangefield\">\n<h4><code class=\"docutils literal notranslate\">FloatRangeField</code><a class=\"heading-anchor\" href=\"#floatrangefield\"><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.contrib.postgres.forms.FloatRangeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">FloatRangeField</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.FloatRangeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Based on <a class=\"reference internal\" href=\"/ja/1.10/ref/forms/fields/#django.forms.FloatField\" title=\"django.forms.FloatField\"><code class=\"xref py py-class docutils literal notranslate\">FloatField</code></a> and translates its input into\n<a class=\"reference external\" href=\"https://www.psycopg.org/docs/extras.html#psycopg2.extras.NumericRange\" title=\"(in Psycopg v2.9)\"><code class=\"xref py py-class docutils literal notranslate\">NumericRange</code></a>. Default for\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.FloatRangeField\" title=\"django.contrib.postgres.fields.FloatRangeField\"><code class=\"xref py py-class docutils literal notranslate\">FloatRangeField</code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"datetimerangefield\">\n<h4><code class=\"docutils literal notranslate\">DateTimeRangeField</code><a class=\"heading-anchor\" href=\"#datetimerangefield\"><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.contrib.postgres.forms.DateTimeRangeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DateTimeRangeField</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.DateTimeRangeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Based on <a class=\"reference internal\" href=\"/ja/1.10/ref/forms/fields/#django.forms.DateTimeField\" title=\"django.forms.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\">DateTimeField</code></a> and translates its input into\n<a class=\"reference external\" href=\"https://www.psycopg.org/docs/extras.html#psycopg2.extras.DateTimeTZRange\" title=\"(in Psycopg v2.9)\"><code class=\"xref py py-class docutils literal notranslate\">DateTimeTZRange</code></a>. Default for\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.DateTimeRangeField\" title=\"django.contrib.postgres.fields.DateTimeRangeField\"><code class=\"xref py py-class docutils literal notranslate\">DateTimeRangeField</code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"daterangefield\">\n<h4><code class=\"docutils literal notranslate\">DateRangeField</code><a class=\"heading-anchor\" href=\"#daterangefield\"><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.contrib.postgres.forms.DateRangeField\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DateRangeField</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.DateRangeField\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Based on <a class=\"reference internal\" href=\"/ja/1.10/ref/forms/fields/#django.forms.DateField\" title=\"django.forms.DateField\"><code class=\"xref py py-class docutils literal notranslate\">DateField</code></a> and translates its input into\n<a class=\"reference external\" href=\"https://www.psycopg.org/docs/extras.html#psycopg2.extras.DateRange\" title=\"(in Psycopg v2.9)\"><code class=\"xref py py-class docutils literal notranslate\">DateRange</code></a>. Default for\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.DateRangeField\" title=\"django.contrib.postgres.fields.DateRangeField\"><code class=\"xref py py-class docutils literal notranslate\">DateRangeField</code></a>.</p>\n</dd></dl>\n\n</section>\n</section>\n</section>\n<section id=\"widgets\">\n<h2>Widgets<a class=\"heading-anchor\" href=\"#widgets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"rangewidget\">\n<h3><code class=\"docutils literal notranslate\">RangeWidget</code><a class=\"heading-anchor\" href=\"#rangewidget\"><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.contrib.postgres.forms.RangeWidget\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">RangeWidget</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">base_widget</em>, <em class=\"sig-param\">attrs<span class=\"o\">=</span><span class=\"default_value\">None</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.RangeWidget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Widget used by all of the range fields.\nBased on <a class=\"reference internal\" href=\"/ja/1.10/ref/forms/widgets/#django.forms.MultiWidget\" title=\"django.forms.MultiWidget\"><code class=\"xref py py-class docutils literal notranslate\">MultiWidget</code></a>.</p>\n<p><a class=\"reference internal\" href=\"#django.contrib.postgres.forms.RangeWidget\" title=\"django.contrib.postgres.forms.RangeWidget\"><code class=\"xref py py-class docutils literal notranslate\">RangeWidget</code></a> has one required argument:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.RangeWidget.base_widget\">\n<span class=\"sig-name descname\">base_widget</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.RangeWidget.base_widget\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A <a class=\"reference internal\" href=\"#django.contrib.postgres.forms.RangeWidget\" title=\"django.contrib.postgres.forms.RangeWidget\"><code class=\"xref py py-class docutils literal notranslate\">RangeWidget</code></a> comprises a 2-tuple of <code class=\"docutils literal notranslate\">base_widget</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.forms.RangeWidget.decompress\">\n<span class=\"sig-name descname\">decompress</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">value</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.forms.RangeWidget.decompress\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Takes a single &quot;compressed&quot; value of a field, for example a\n<a class=\"reference internal\" href=\"/ja/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.DateRangeField\" title=\"django.contrib.postgres.fields.DateRangeField\"><code class=\"xref py py-class docutils literal notranslate\">DateRangeField</code></a>,\nand returns a tuple representing and lower and upper bound.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>","rootId":"postgresql-specific-form-fields-and-widgets","toc":[{"title":"フィールド","anchor":"fields","children":[{"title":"SimpleArrayField","anchor":"simplearrayfield","children":[]},{"title":"SplitArrayField","anchor":"splitarrayfield","children":[]},{"title":"HStoreField","anchor":"hstorefield","children":[]},{"title":"JSONField","anchor":"jsonfield","children":[]},{"title":"Range Fields","anchor":"range-fields","children":[{"title":"IntegerRangeField","anchor":"integerrangefield","children":[]},{"title":"FloatRangeField","anchor":"floatrangefield","children":[]},{"title":"DateTimeRangeField","anchor":"datetimerangefield","children":[]},{"title":"DateRangeField","anchor":"daterangefield","children":[]}]}]},{"title":"Widgets","anchor":"widgets","children":[{"title":"RangeWidget","anchor":"rangewidget","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/ja/1.10/ref/"},{"docname":"ref/contrib/index","title":"contrib packages","url":"/ja/1.10/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/ja/1.10/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/fields","title":"PostgreSQL specific model fields","url":"/ja/1.10/ref/contrib/postgres/fields/"},"next":{"docname":"ref/contrib/postgres/functions","title":"PostgreSQL specific database functions","url":"/ja/1.10/ref/contrib/postgres/functions/"},"formats":{"html":"/ja/1.10/ref/contrib/postgres/forms/","markdown":"/ja/1.10/ref/contrib/postgres/forms.md","json":"/ja/1.10/ref/contrib/postgres/forms.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/ref/contrib/postgres/forms.txt","official":"https://docs.djangoproject.com/ja/1.10/ref/contrib/postgres/forms/","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","fr","ja","id","pt-br","es","el","pl"]}