{"title":"Référence des index de modèle","version":"2.1","locale":"fr","docname":"ref/models/indexes","url":"/fr/2.1/ref/models/indexes/","canonical":"https://djangodocs.dev/fr/2.1/ref/models/indexes/","summary":"Les classes d’index facilitent la création d’index de base de données. Elles peuvent être ajoutées avec l’option Meta.indexes . Ce document détaille les références…","html":"<span id=\"model-index-reference\"></span><h1>Référence des index de modèle<a class=\"heading-anchor\" href=\"#module-django.db.models.indexes\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Les classes d’index facilitent la création d’index de base de données. Elles peuvent être ajoutées avec l’option <a class=\"reference internal\" href=\"/fr/2.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>. Ce document détaille les références d’API de <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> ce qui inclut les <a class=\"reference internal\" href=\"#index-options\">options d’index</a>.</p>\n<aside class=\"admonition-referencing-built-in-indexes admonition\">\n<p class=\"admonition-title\">Référencement des index intégrés</p>\n<p>Les index sont définis dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.indexes</span></code>, mais par commodité ils sont importés dans <a class=\"reference internal\" href=\"/fr/2.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>. La convention standard est d’utiliser <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> et de se référer aux index avec <code class=\"docutils literal notranslate\"><span class=\"pre\">models.&lt;IndexClass&gt;</span></code>.</p>\n</aside>\n<section id=\"index-options\">\n<h2>Options d”<code class=\"docutils literal notranslate\"><span class=\"pre\">Index</span></code><a class=\"heading-anchor\" href=\"#index-options\"><span class=\"visually-hidden\">Lien vers cette rubrique</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=\"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><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.db.models.Index\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Crée un index (B-Tree) dans la base de données.</p>\n</dd></dl>\n\n<section id=\"fields\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">fields</span></code><a class=\"heading-anchor\" href=\"#fields\"><span class=\"visually-hidden\">Lien vers cette rubrique</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\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Une liste ou un tuple de noms de champs sur lesquels l’index doit porter.</p>\n<p>Par défaut, les index sont créés avec un tri croissant sur chaque colonne. Pour définir un index avec un tri décroissant sur une certaine colonne, ajoutez un tiret devant le nom du champ.</p>\n<p>Par exemple, <code class=\"docutils literal notranslate\"><span class=\"pre\">Index(fields=['headline',</span> <span class=\"pre\">'-pub_date'])</span></code> produit un code SQL contenant <code class=\"docutils literal notranslate\"><span class=\"pre\">(headline,</span> <span class=\"pre\">pub_date</span> <span class=\"pre\">DESC)</span></code>. Le tri dans les index n’est pas géré par MySQL. Dans ce cas, un index avec tri décroissant est traité comme un index normal.</p>\n<aside class=\"version-note version-changed\" data-version=\"2.1\">\n<p class=\"version-note-title\">Changed in Django 2.1</p><p>Les versions précédentes n’acceptaient pas les tuples.</p>\n</aside>\n</section>\n<section id=\"name\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code><a class=\"heading-anchor\" href=\"#name\"><span class=\"visually-hidden\">Lien vers cette rubrique</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\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Le nom de l’index. Si <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> n’est pas fourni, Django va générer automatiquement un nom. Par compatibilité avec les différentes bases de données, les noms d’index ne peuvent pas être plus longs que 30 caractères et ne doivent pas commencer par un nombre (0-9) ni par un soulignement (_).</p>\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\">Lien vers cette rubrique</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\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<aside class=\"version-note version-added\" data-version=\"2.0\">\n<p class=\"version-note-title\">New in Django 2.0</p></aside>\n<p>Le nom de l”<a class=\"reference internal\" href=\"/fr/2.1/topics/db/tablespaces/\"><span class=\"doc\">espace de tables de base de données</span></a> à utiliser pour cet index. Pour les index sur un seul champ et si <code class=\"docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code> n’est pas indiqué, l’index est créé dans l’espace <code class=\"docutils literal notranslate\"><span class=\"pre\">db_tablespace</span></code> du champ.</p>\n<p>Si <a class=\"reference internal\" href=\"/fr/2.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> n’est pas présent (ou si l’index utilise plusieurs champs), l’index est créé dans l’espace de tables défini dans l’option <a class=\"reference internal\" href=\"/fr/2.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> dans la classe <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta</span></code> du modèle. Si aucun de ces espaces n’est défini, l’index est créé dans le même espace de tables que la table.</p>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">Voir aussi</p>\n<p>Pour une liste des index spécifiques à PostgreSQL, voir <a class=\"reference internal\" href=\"/fr/2.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>","rootId":"module-django.db.models.indexes","toc":[{"title":"Options d”Index","anchor":"index-options","children":[{"title":"fields","anchor":"fields","children":[]},{"title":"name","anchor":"name","children":[]},{"title":"db_tablespace","anchor":"db-tablespace","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/2.1/ref/"},{"docname":"ref/models/index","title":"Modèles","url":"/fr/2.1/ref/models/"}],"prev":{"docname":"ref/models/fields","title":"Référence des champs de modèle","url":"/fr/2.1/ref/models/fields/"},"next":{"docname":"ref/models/meta","title":"L’API _meta des modèles","url":"/fr/2.1/ref/models/meta/"},"formats":{"html":"/fr/2.1/ref/models/indexes/","markdown":"/fr/2.1/ref/models/indexes.md","json":"/fr/2.1/ref/models/indexes.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/ref/models/indexes.txt","official":"https://docs.djangoproject.com/fr/2.1/ref/models/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","1.11"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}