{"title":"PostgreSQL 特有模型索引","version":"4.2","locale":"zh-hans","docname":"ref/contrib/postgres/indexes","url":"/zh-hans/4.2/ref/contrib/postgres/indexes/","canonical":"https://djangodocs.dev/zh-hans/4.2/ref/contrib/postgres/indexes/","summary":"以下是 PostgreSQL 特有的 索引 可以从 django.contrib.postgres.indexes 模块中获得。 BloomIndex Link to this heading # class BloomIndex ( * expressions , length = None , columns = () ,…","html":"<span id=\"postgresql-specific-model-indexes\"></span><h1>PostgreSQL 特有模型索引<a class=\"heading-anchor\" href=\"#module-django.contrib.postgres.indexes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>以下是 PostgreSQL 特有的 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/models/indexes/\"><span class=\"doc\">索引</span></a> 可以从 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.indexes</span></code> 模块中获得。</p>\n<section id=\"bloomindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BloomIndex</span></code><a class=\"heading-anchor\" href=\"#bloomindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.BloomIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BloomIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">length</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">columns</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">()</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.BloomIndex\"><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://www.postgresql.org/docs/current/bloom.html\">bloom</a> 索引。</p>\n<p>要使用这个索引访问，你需要激活 PostgreSQL 上的 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/bloom.html\">bloom</a> 扩展。你可以使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BloomExtension\" title=\"django.contrib.postgres.operations.BloomExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BloomExtension</span></code></a> 迁移操作来安装它。</p>\n<p>为 <code class=\"docutils literal notranslate\"><span class=\"pre\">length</span></code> 参数提供一个从 1 到 4096 的整数位，用于指定每个索引条目的长度。PostgreSQL 的默认值是 80。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">columns</span></code> 参数取一个元组或最多 32 个值的列表，这些值是 1 到 4095 的整数位。</p>\n</dd></dl>\n\n</section>\n<section id=\"brinindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BrinIndex</span></code><a class=\"heading-anchor\" href=\"#brinindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.BrinIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BrinIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">autosummarize</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">pages_per_range</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.BrinIndex\"><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://www.postgresql.org/docs/current/brin-intro.html\">BRIN 索引</a> 。</p>\n<p>将 <code class=\"docutils literal notranslate\"><span class=\"pre\">autosummarize</span></code> 参数设置为 <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>，启用 autovacuum 进行 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/brin-intro.html#BRIN-OPERATION\">自动汇总</a> 。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">pages_per_range</span></code> 参数取一个正整数。</p>\n</dd></dl>\n\n</section>\n<section id=\"btreeindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">BTreeIndex</span></code><a class=\"heading-anchor\" href=\"#btreeindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.BTreeIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BTreeIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.BTreeIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>创建一个 B 树索引。</p>\n<p>为 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> 参数提供一个从  10 到 100 的整数值，以调整索引页的打包程度。PostgreSQL 的默认值是 90。</p>\n</dd></dl>\n\n</section>\n<section id=\"ginindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">GinIndex</span></code><a class=\"heading-anchor\" href=\"#ginindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.GinIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GinIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fastupdate</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">gin_pending_list_limit</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.GinIndex\"><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://www.postgresql.org/docs/current/gin.html\">gin 索引</a> 。</p>\n<p>要想在不在 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gin-builtin-opclasses.html\">内置运算符类</a> 的数据类型上使用这个索引，需要在 PostgreSQL 上激活 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/btree-gin.html\">btree_gin 扩展</a> 。你可以使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGinExtension\" title=\"django.contrib.postgres.operations.BtreeGinExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BtreeGinExtension</span></code></a> 迁移操作来安装它。</p>\n<p>将 <code class=\"docutils literal notranslate\"><span class=\"pre\">fastupdate</span></code> 参数设置为 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>，以禁用 PostgreSQL 中默认启用的 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE\">GIN 快速更新技术</a> 。</p>\n<p>将一个整数值以千字节为单位提供给 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT\">gin_pending_list_limit</a> 参数，以调整当启用 <code class=\"docutils literal notranslate\"><span class=\"pre\">fastupdate</span></code> 时用于限制 GIN 待处理列表的最大大小。</p>\n</dd></dl>\n\n</section>\n<section id=\"gistindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">GistIndex</span></code><a class=\"heading-anchor\" href=\"#gistindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.GistIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GistIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">buffering</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.GistIndex\"><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://www.postgresql.org/docs/current/gist.html\">GiST 索引</a> 。这些索引在空间字段上会自动创建 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/gis/model-api/#django.contrib.gis.db.models.BaseSpatialField.spatial_index\" title=\"django.contrib.gis.db.models.BaseSpatialField.spatial_index\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">spatial_index=True</span></code></a>。它们在其他类型上也很有用，比如 <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HStoreField</span></code> 或者 <span class=\"xref std std-ref\">range fields</span>。</p>\n<p>要在不在内置的 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gist-builtin-opclasses.html\">gist 操作类</a> 的数据类型上使用这个索引，需要在 PostgreSQL 上激活 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/btree-gist.html\">btree_gist 扩展</a> 。你可以使用 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/contrib/postgres/operations/#django.contrib.postgres.operations.BtreeGistExtension\" title=\"django.contrib.postgres.operations.BtreeGistExtension\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BtreeGistExtension</span></code></a> 迁移操作来安装它。</p>\n<p>将 <code class=\"docutils literal notranslate\"><span class=\"pre\">buffering</span></code> 参数设置为 <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> 或 <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>，手动启用或禁用索引的 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/gist-implementation.html#GIST-BUFFERING-BUILD\">buffering build</a> 。</p>\n<p>为 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> 参数提供一个从  10 到 100 的整数值，以调整索引页的打包程度。PostgreSQL 的默认值是 90。</p>\n</dd></dl>\n\n</section>\n<section id=\"hashindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">HashIndex</span></code><a class=\"heading-anchor\" href=\"#hashindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.HashIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">HashIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.HashIndex\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>创建一个哈希索引。</p>\n<p>为 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> 参数提供一个从  10 到 100 的整数值，以调整索引页的打包程度。PostgreSQL 的默认值是 90。</p>\n</dd></dl>\n\n</section>\n<section id=\"spgistindex\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">SpGistIndex</span></code><a class=\"heading-anchor\" href=\"#spgistindex\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.SpGistIndex\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SpGistIndex</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">expressions</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fillfactor</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.SpGistIndex\"><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://www.postgresql.org/docs/current/spgist.html\">SP-GIST 索引</a> 。</p>\n<p>为 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS\">fillfactor</a> 参数提供一个从  10 到 100 的整数值，以调整索引页的打包程度。PostgreSQL 的默认值是 90。</p>\n<aside class=\"version-note version-changed\" data-version=\"4.1\">\n<p class=\"version-note-title\">Changed in Django 4.1</p><p>在 PostgreSQL 14+ 中新增了对 SP-GiST 索引的覆盖支持。</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"opclass-expressions\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">OpClass()</span></code> 表达式<a class=\"heading-anchor\" href=\"#opclass-expressions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.postgres.indexes.OpClass\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">OpClass</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">expression</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">name</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.postgres.indexes.OpClass\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>一个 <code class=\"docutils literal notranslate\"><span class=\"pre\">OpClass()</span></code> 表达式表示带有自定义 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/indexes-opclass.html\">operator class</a> 的 <code class=\"docutils literal notranslate\"><span class=\"pre\">expression</span></code>，它可用于定义功能索引、功能唯一约束或排除约束。要使用它，您需要在 <a class=\"reference internal\" href=\"/zh-hans/4.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> 中添加 <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.postgres'</span></code>。将 <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> 参数设置为 <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/indexes-opclass.html\">operator class</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=\"n\">Index</span><span class=\"p\">(</span>\n    <span class=\"n\">OpClass</span><span class=\"p\">(</span><span class=\"n\">Lower</span><span class=\"p\">(</span><span class=\"s2\">&quot;username&quot;</span><span class=\"p\">),</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;varchar_pattern_ops&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;lower_username_idx&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>使用 <code class=\"docutils literal notranslate\"><span class=\"pre\">varchar_pattern_ops</span></code> 在 <code class=\"docutils literal notranslate\"><span class=\"pre\">Lower('username')</span></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=\"n\">UniqueConstraint</span><span class=\"p\">(</span>\n    <span class=\"n\">OpClass</span><span class=\"p\">(</span><span class=\"n\">Upper</span><span class=\"p\">(</span><span class=\"s2\">&quot;description&quot;</span><span class=\"p\">),</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;text_pattern_ops&quot;</span><span class=\"p\">),</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;upper_description_unique&quot;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>使用 <code class=\"docutils literal notranslate\"><span class=\"pre\">text_pattern_ops</span></code> 在 <code class=\"docutils literal notranslate\"><span class=\"pre\">Upper('description')</span></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=\"n\">ExclusionConstraint</span><span class=\"p\">(</span>\n    <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;exclude_overlapping_ops&quot;</span><span class=\"p\">,</span>\n    <span class=\"n\">expressions</span><span class=\"o\">=</span><span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"n\">OpClass</span><span class=\"p\">(</span><span class=\"s2\">&quot;circle&quot;</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;circle_ops&quot;</span><span class=\"p\">),</span> <span class=\"n\">RangeOperators</span><span class=\"o\">.</span><span class=\"n\">OVERLAPS</span><span class=\"p\">),</span>\n    <span class=\"p\">],</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>使用 <code class=\"docutils literal notranslate\"><span class=\"pre\">circle_ops</span></code> 在 <code class=\"docutils literal notranslate\"><span class=\"pre\">circle</span></code> 上创建一个排除约束。</p>\n<aside class=\"version-note version-changed\" data-version=\"4.1\">\n<p class=\"version-note-title\">Changed in Django 4.1</p><p>新增了对排除约束的支持。</p>\n</aside>\n</dd></dl>\n\n</section>","rootId":"module-django.contrib.postgres.indexes","toc":[{"title":"BloomIndex","anchor":"bloomindex","children":[]},{"title":"BrinIndex","anchor":"brinindex","children":[]},{"title":"BTreeIndex","anchor":"btreeindex","children":[]},{"title":"GinIndex","anchor":"ginindex","children":[]},{"title":"GistIndex","anchor":"gistindex","children":[]},{"title":"HashIndex","anchor":"hashindex","children":[]},{"title":"SpGistIndex","anchor":"spgistindex","children":[]},{"title":"OpClass() 表达式","anchor":"opclass-expressions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API 参考","url":"/zh-hans/4.2/ref/"},{"docname":"ref/contrib/index","title":"contrib 包","url":"/zh-hans/4.2/ref/contrib/"},{"docname":"ref/contrib/postgres/index","title":"django.contrib.postgres","url":"/zh-hans/4.2/ref/contrib/postgres/"}],"prev":{"docname":"ref/contrib/postgres/functions","title":"PostgreSQL 特有数据库函数","url":"/zh-hans/4.2/ref/contrib/postgres/functions/"},"next":{"docname":"ref/contrib/postgres/lookups","title":"PostgreSQL 特有查找","url":"/zh-hans/4.2/ref/contrib/postgres/lookups/"},"formats":{"html":"/zh-hans/4.2/ref/contrib/postgres/indexes/","markdown":"/zh-hans/4.2/ref/contrib/postgres/indexes.md","json":"/zh-hans/4.2/ref/contrib/postgres/indexes.json"},"source":"https://github.com/django/django/blob/stable/4.2.x/docs/ref/contrib/postgres/indexes.txt","official":"https://docs.djangoproject.com/zh-hans/4.2/ref/contrib/postgres/indexes/","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"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}