{"title":"Referens till modellindex","version":"6.1","locale":"sv","docname":"ref/models/indexes","url":"/sv/6.1/ref/models/indexes/","canonical":"https://djangodocs.dev/sv/6.1/ref/models/indexes/","summary":"Indexklasser underlättar skapandet av databasindex. De kan läggas till med hjälp av alternativet Meta.indexes . Detta dokument förklarar API-referenserna för Index…","html":"<span id=\"model-index-reference\"></span><h1>Referens till modellindex<a class=\"heading-anchor\" href=\"#module-django.db.models.indexes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Indexklasser underlättar skapandet av databasindex. De kan läggas till med hjälp av alternativet <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Meta.indexes</span></code></a>. Detta dokument förklarar API-referenserna för <a class=\"reference internal\" href=\"#django.db.models.Index\" title=\"django.db.models.Index\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Index</span></code></a> som inkluderar <a class=\"reference internal\" href=\"#index-options\">index options</a>.</p>\n<aside class=\"admonition-referencing-built-in-indexes admonition\">\n<p class=\"admonition-title\">Hänvisning till inbyggda index</p>\n<p>Index definieras i <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.indexes</span></code>, men för enkelhetens skull importeras de till <a class=\"reference internal\" href=\"/sv/6.1/topics/db/models/#module-django.db.models\" title=\"django.db.models\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.db.models</span></code></a>. Standardkonventionen är att använda <code class=\"docutils literal notranslate\"><span class=\"pre\">from</span> <span class=\"pre\">django.db</span> <span class=\"pre\">import</span> <span class=\"pre\">models</span></code> och hänvisa till indexen som <code class=\"docutils literal notranslate\"><span class=\"pre\">models.&lt;IndexClass&gt;</span></code>.</p>\n</aside>\n<section id=\"index-options\">\n<h2>alternativ för <code class=\"docutils literal notranslate\"><span class=\"pre\">Index</span></code><a class=\"heading-anchor\" href=\"#index-options\"><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.db.models.Index\">\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\">Index</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\">fields</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=\"n\"><span class=\"pre\">name</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\">db_tablespace</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\">opclasses</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=\"n\"><span class=\"pre\">condition</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\">include</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Index\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Skapar ett index (B-Tree) i databasen.</p>\n</dd></dl>\n\n<section id=\"expressions\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">uttryck</span></code><a class=\"heading-anchor\" href=\"#expressions\"><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.db.models.Index.expressions\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">expressions</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.expressions\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Det positionella argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">*expressions</span></code> gör det möjligt att skapa funktionella index på uttryck och databasfunktioner.</p>\n<p>Till exempel:</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><span class=\"n\">Lower</span><span class=\"p\">(</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">desc</span><span class=\"p\">(),</span> <span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;lower_title_date_idx&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>skapar ett index på det gemena värdet i fältet <code class=\"docutils literal notranslate\"><span class=\"pre\">title</span></code> i fallande ordning och fältet <code class=\"docutils literal notranslate\"><span class=\"pre\">pub_date</span></code> i stigande ordning som standard.</p>\n<p>Ett annat exempel:</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><span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;height&quot;</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">F</span><span class=\"p\">(</span><span class=\"s2\">&quot;weight&quot;</span><span class=\"p\">),</span> <span class=\"n\">Round</span><span class=\"p\">(</span><span class=\"s2\">&quot;weight&quot;</span><span class=\"p\">),</span> <span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;calc_idx&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>skapar ett index på resultatet av multiplikationen av fälten <code class=\"docutils literal notranslate\"><span class=\"pre\">höjd</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">vikt</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">vikt</span></code> avrundat till närmaste heltal.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.Index.name\" title=\"django.db.models.Index.name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Index.name</span></code></a> krävs när man använder <code class=\"docutils literal notranslate\"><span class=\"pre\">*expressions</span></code>.</p>\n<aside class=\"admonition-restrictions-on-oracle admonition\">\n<p class=\"admonition-title\">Begränsningar för Oracle</p>\n<p>Oracle kräver att funktioner som refereras till i ett index ska markeras som <code class=\"docutils literal notranslate\"><span class=\"pre\">DETERMINISTIC</span></code>. Django validerar inte detta men Oracle kommer att göra ett fel. Detta innebär att funktioner som <a class=\"reference internal\" href=\"/sv/6.1/ref/models/database-functions/#django.db.models.functions.Random\" title=\"django.db.models.functions.Random\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Random()</span></code></a> inte accepteras.</p>\n</aside>\n<aside class=\"admonition-restrictions-on-postgresql admonition\">\n<p class=\"admonition-title\">Begränsningar på PostgreSQL</p>\n<p>PostgreSQL kräver att funktioner och operatörer som refereras till i ett index markeras som `` IMMUTABLE``. Django validerar inte detta men PostgreSQL kommer att göra fel. Detta innebär att funktioner som <a class=\"reference internal\" href=\"/sv/6.1/ref/models/database-functions/#django.db.models.functions.Concat\" title=\"django.db.models.functions.Concat\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Concat()</span></code></a> inte accepteras.</p>\n</aside>\n<aside class=\"admonition-mariadb admonition\">\n<p class=\"admonition-title\">MariaDB</p>\n<p>Functional indexes are unsupported and ignored with MariaDB.</p>\n</aside>\n</section>\n<section id=\"fields\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">fält</span></code><a class=\"heading-anchor\" href=\"#fields\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.Index.fields\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">fields</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.fields\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En lista eller tupel med namnet på de fält som indexet önskas för.</p>\n<p>Som standard skapas index med stigande ordning för varje kolumn. Om du vill definiera ett index med fallande ordning för en kolumn lägger du till ett bindestreck före fältets namn.</p>\n<p>Till exempel: skulle <code class=\"docutils literal notranslate\"><span class=\"pre\">Index(fields=['headline',</span> <span class=\"pre\">'-pub_date'])</span></code> skapa SQL med <code class=\"docutils literal notranslate\"><span class=\"pre\">(headline,</span> <span class=\"pre\">pub_date</span> <span class=\"pre\">DESC)</span></code>.</p>\n</section>\n<section id=\"name\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">namn</span></code><a class=\"heading-anchor\" href=\"#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.db.models.Index.name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">name</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Namnet på indexet. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> inte anges kommer Django automatiskt att generera ett namn. För kompatibilitet med olika databaser får indexnamn inte vara längre än 30 tecken och bör inte börja med en siffra (0-9) eller understreck (_).</p>\n<aside class=\"admonition-partial-indexes-in-abstract-base-classes admonition\">\n<p class=\"admonition-title\">Partiella index i abstrakta basklasser</p>\n<p>Du måste alltid ange ett unikt namn för ett index. Därför kan du normalt inte ange ett partiellt index på en abstrakt basklass, eftersom alternativet <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.indexes\" title=\"django.db.models.Options.indexes\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Meta.indexes</span></code></a> ärvs av underklasser, med exakt samma värden för attributen (inklusive <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code>) varje gång. För att komma runt namnkollisioner kan en del av namnet innehålla <code class=\"docutils literal notranslate\"><span class=\"pre\">'%(app_label)s'</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">'%(class)s'</span></code>, som ersätts av den gemena appetiketten respektive klassnamnet för den konkreta modellen. Till exempel: <code class=\"docutils literal notranslate\"><span class=\"pre\">Index(fields=['title'],</span> <span class=\"pre\">name='%(app_label)s_%(class)s_title_index')</span></code>.</p>\n</aside>\n</section>\n<section id=\"db-tablespace\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code><a class=\"heading-anchor\" href=\"#db-tablespace\"><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.db.models.Index.db_tablespace\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">db_tablespace</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.db_tablespace\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Namnet på det <a class=\"reference internal\" href=\"/sv/6.1/topics/db/tablespaces/\"><span class=\"doc\">databas-tabellutrymme</span></a> som ska användas för detta index. För index med ett enda fält skapas indexet i fältets <code class=\"docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code> om <code class=\"docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code> inte anges.</p>\n<p>Om <a class=\"reference internal\" href=\"/sv/6.1/ref/models/fields/#django.db.models.Field.db_tablespace\" title=\"django.db.models.Field.db_tablespace\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Field.db_tablespace</span></code></a> inte anges (eller om indexet använder flera fält) skapas indexet i det tablespace som anges i <a class=\"reference internal\" href=\"/sv/6.1/ref/models/options/#django.db.models.Options.db_tablespace\" title=\"django.db.models.Options.db_tablespace\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code></a>-alternativet i modellens <code class=\"docutils literal notranslate\"><span class=\"pre\">class</span> <span class=\"pre\">Meta</span></code>. Om inget av dessa tablespaces är angivet skapas indexet i samma tablespace som tabellen.</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">Se även</p>\n<p>För en lista över PostgreSQL-specifika index, se <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/postgres/indexes/#module-django.contrib.postgres.indexes\" title=\"django.contrib.postgres.indexes\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.indexes</span></code></a>.</p>\n</aside>\n</section>\n<section id=\"opclasses\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">opklasser</span></code><a class=\"heading-anchor\" href=\"#opclasses\"><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.db.models.Index.opclasses\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">opclasses</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.opclasses\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Namnen på <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/indexes-opclass.html\">PostgreSQL-operatörsklasserna</a> som ska användas för detta index. Om du behöver en anpassad operatörsklass måste du tillhandahålla en för varje fält i indexet.</p>\n<p>Till exempel: skapar <code class=\"docutils literal notranslate\"><span class=\"pre\">GinIndex(name='json_index',</span> <span class=\"pre\">fields=['jsonfield'],</span> <span class=\"pre\">opclasses=['jsonb_path_ops'])</span></code> ett ginindex på <code class=\"docutils literal notranslate\"><span class=\"pre\">jsonfield</span></code> med hjälp av <code class=\"docutils literal notranslate\"><span class=\"pre\">jsonb_path_ops</span></code>.</p>\n<p>`` Opclasses`` ignoreras för databaser förutom PostgreSQL.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.Index.name\" title=\"django.db.models.Index.name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Index.name</span></code></a> krävs när man använder <code class=\"docutils literal notranslate\"><span class=\"pre\">opclasses</span></code>.</p>\n</section>\n<section id=\"condition\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">villkor</span></code><a class=\"heading-anchor\" href=\"#condition\"><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.db.models.Index.condition\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">condition</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.condition\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Om tabellen är mycket stor och dina frågor oftast riktar sig till en delmängd av rader kan det vara användbart att begränsa ett index till den delmängden. Ange ett villkor som en <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#django.db.models.Q\" title=\"django.db.models.Q\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Q</span></code></a>. Till exempel:, <code class=\"docutils literal notranslate\"><span class=\"pre\">condition=Q(pages__gt=400)</span></code> indexerar poster med mer än 400 sidor.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.Index.name\" title=\"django.db.models.Index.name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Index.name</span></code></a> krävs när man använder <code class=\"docutils literal notranslate\"><span class=\"pre\">condition</span></code>.</p>\n<aside class=\"admonition-restrictions-on-postgresql admonition\">\n<p class=\"admonition-title\">Begränsningar på PostgreSQL</p>\n<p>PostgreSQL kräver funktioner som refereras till i villkoret för att markeras som IMMUTABLE. Django validerar inte detta men PostgreSQL kommer att fel. Detta innebär att funktioner som <a class=\"reference internal\" href=\"/sv/6.1/ref/models/database-functions/#date-functions\"><span class=\"std std-ref\">Datumfunktioner</span></a> och <a class=\"reference internal\" href=\"/sv/6.1/ref/models/database-functions/#django.db.models.functions.Concat\" title=\"django.db.models.functions.Concat\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Concat</span></code></a> inte accepteras. Om du lagrar datum i <a class=\"reference internal\" href=\"/sv/6.1/ref/models/fields/#django.db.models.DateTimeField\" title=\"django.db.models.DateTimeField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code></a>, kan jämförelse med <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a>-objekt kräva att <code class=\"docutils literal notranslate\"><span class=\"pre\">tzinfo</span></code>-argumentet tillhandahålls eftersom jämförelsen annars kan resultera i en mutabel funktion på grund av den casting Django gör för <a class=\"reference internal\" href=\"/sv/6.1/ref/models/querysets/#field-lookups\"><span class=\"std std-ref\">lookups</span></a>.</p>\n</aside>\n<aside class=\"admonition-restrictions-on-sqlite admonition\">\n<p class=\"admonition-title\">Begränsningar för SQLite</p>\n<p>SQLite ”inför restriktioner &lt;<a class=\"reference external\" href=\"https://www.sqlite.org/partialindex.html\">https://www.sqlite.org/partialindex.html</a>&gt;`_ för hur ett partiellt index kan konstrueras.</p>\n</aside>\n<aside class=\"admonition-oracle admonition\">\n<p class=\"admonition-title\">Oracle</p>\n<p>Oracle har inte stöd för partiella index. Istället kan partiella index emuleras genom att använda funktionella index tillsammans med <a class=\"reference internal\" href=\"/sv/6.1/ref/models/conditional-expressions/#django.db.models.expressions.Case\" title=\"django.db.models.expressions.Case\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Case</span></code></a>-uttryck.</p>\n</aside>\n<aside class=\"admonition-mysql-and-mariadb admonition\">\n<p class=\"admonition-title\">MySQL och MariaDB</p>\n<p>Argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">condition</span></code> ignoreras med MySQL och MariaDB eftersom ingen av dem stöder villkorliga index.</p>\n</aside>\n</section>\n<section id=\"include\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">inkludera</span></code><a class=\"heading-anchor\" href=\"#include\"><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.db.models.Index.include\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Index.</span></span><span class=\"sig-name descname\"><span class=\"pre\">include</span></span><a class=\"heading-anchor\" href=\"#django.db.models.Index.include\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>En lista eller tupel med namnen på de fält som ska ingå i täckningsindexet som icke-nyckelkolumner. Detta gör att skanningar med enbart index kan användas för frågor som endast väljer inkluderade fält (<a class=\"reference internal\" href=\"#django.db.models.Index.include\" title=\"django.db.models.Index.include\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">include</span></code></a>) och endast filtrerar efter indexerade fält (<a class=\"reference internal\" href=\"#django.db.models.Index.fields\" title=\"django.db.models.Index.fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">fields</span></code></a>).</p>\n<p>Till exempel:</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><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s2\">&quot;covering_index&quot;</span><span class=\"p\">,</span> <span class=\"n\">fields</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;headline&quot;</span><span class=\"p\">],</span> <span class=\"n\">include</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">])</span>\n</code></pre></div>\n<p>gör det möjligt att filtrera på <code class=\"docutils literal notranslate\"><span class=\"pre\">headline</span></code> och även välja <code class=\"docutils literal notranslate\"><span class=\"pre\">pub_date</span></code>, samtidigt som data endast hämtas från indexet.</p>\n<p>Om du använder <code class=\"docutils literal notranslate\"><span class=\"pre\">include</span></code> får du ett mindre index än om du använder ett index med flera kolumner, men nackdelen är att kolumner som inte är nyckelkolumner inte kan användas för sortering eller filtrering.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">include</span></code> ignoreras för databaser förutom PostgreSQL.</p>\n<p><a class=\"reference internal\" href=\"#django.db.models.Index.name\" title=\"django.db.models.Index.name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Index.name</span></code></a> krävs vid användning av <code class=\"docutils literal notranslate\"><span class=\"pre\">include</span></code>.</p>\n<p>Se PostgreSQL-dokumentationen för mer information om <a class=\"reference external\" href=\"https://www.postgresql.org/docs/current/indexes-index-only-scans.html\">täckande index</a>.</p>\n<aside class=\"admonition-postgresql-specific-indexes admonition\">\n<p class=\"admonition-title\">PostgreSQL-specific indexes</p>\n<p>In addition to B-Tree indexes (via <a class=\"reference internal\" href=\"#django.db.models.Index\" title=\"django.db.models.Index\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Index</span></code></a>), PostgreSQL also\nsupports <a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/postgres/indexes/#django.contrib.postgres.indexes.GistIndex\" title=\"django.contrib.postgres.indexes.GistIndex\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GistIndex</span></code></a> and\n<a class=\"reference internal\" href=\"/sv/6.1/ref/contrib/postgres/indexes/#django.contrib.postgres.indexes.SpGistIndex\" title=\"django.contrib.postgres.indexes.SpGistIndex\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SpGistIndex</span></code></a> indexes.</p>\n</aside>\n</section>\n</section>","rootId":"module-django.db.models.indexes","toc":[{"title":"alternativ för Index","anchor":"index-options","children":[{"title":"uttryck","anchor":"expressions","children":[]},{"title":"fält","anchor":"fields","children":[]},{"title":"namn","anchor":"name","children":[]},{"title":"db_tablespace","anchor":"db-tablespace","children":[]},{"title":"opklasser","anchor":"opclasses","children":[]},{"title":"villkor","anchor":"condition","children":[]},{"title":"inkludera","anchor":"include","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.1/ref/"},{"docname":"ref/models/index","title":"Modeller","url":"/sv/6.1/ref/models/"}],"prev":{"docname":"ref/models/fields","title":"Referens till modellfält","url":"/sv/6.1/ref/models/fields/"},"next":{"docname":"ref/models/constraints","title":"Referens för begränsningar","url":"/sv/6.1/ref/models/constraints/"},"formats":{"html":"/sv/6.1/ref/models/indexes/","markdown":"/sv/6.1/ref/models/indexes.md","json":"/sv/6.1/ref/models/indexes.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/models/indexes.txt","official":"https://docs.djangoproject.com/sv/6.1/ref/models/indexes/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}