{"title":"Classes mixins pour objets multiples","version":"2.2","locale":"fr","docname":"ref/class-based-views/mixins-multiple-object","url":"/fr/2.2/ref/class-based-views/mixins-multiple-object/","canonical":"https://djangodocs.dev/fr/2.2/ref/class-based-views/mixins-multiple-object/","summary":"MultipleObjectMixin Lien vers cette rubrique # class django.views.generic.list. MultipleObjectMixin Lien vers cette définition # Une classe mixin pouvant être…","html":"<h1>Classes mixins pour objets multiples<a class=\"heading-anchor\" href=\"#multiple-object-mixins\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"multipleobjectmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectMixin</span></code><a class=\"heading-anchor\" href=\"#multipleobjectmixin\"><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.views.generic.list.MultipleObjectMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.list.</span></span><span class=\"sig-name descname\"><span class=\"pre\">MultipleObjectMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une classe mixin pouvant être utilisée pour afficher une liste d’objets.</p>\n<p>Si <code class=\"docutils literal notranslate\"><span class=\"pre\">paginate_by</span></code> est indiqué, Django pagine les résultats renvoyés par la vue. Il est possible d’indiquer le numéro de page dans l’URL de deux manières différentes :</p>\n<ul>\n<li><p>En utilisant le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code> dans la configuration d’URL. Par exemple, voici à quoi pourrait ressembler la configuration d’URL :</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\">path</span><span class=\"p\">(</span><span class=\"s1\">&#39;objects/page&lt;int:page&gt;/&#39;</span><span class=\"p\">,</span> <span class=\"n\">PaginatedView</span><span class=\"o\">.</span><span class=\"n\">as_view</span><span class=\"p\">()),</span>\n</code></pre></div>\n</li>\n<li><p>En passant le numéro de page comme paramètre dans la chaîne de requête de l’URL. Par exemple, une URL pourrait ressembler à ceci :</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>/objects/?page=3\n</code></pre></div>\n</li>\n</ul>\n<p>Ces listes et valeurs sont indexées à partir de 1, et non 0, ce qui fait que la première page est représentée par la page <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code>.</p>\n<p>Pour plus de détails sur la pagination, lisez la <a class=\"reference internal\" href=\"/fr/2.2/topics/pagination/\"><span class=\"doc\">documentation sur la pagination</span></a>.</p>\n<p>Comme cas particulier, il est aussi permis d’utiliser <code class=\"docutils literal notranslate\"><span class=\"pre\">last</span></code> (dernier) comme valeur pour la variable <code class=\"docutils literal notranslate\"><span class=\"pre\">page</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>/objects/?page=last\n</code></pre></div>\n<p>Cela permet d’accéder à la dernière page des résultats sans devoir d’abord déterminer le nombre total de pages.</p>\n<p>Notez que <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code> <em>doit</em> contenir un numéro de page valide ou la valeur <code class=\"docutils literal notranslate\"><span class=\"pre\">last</span></code>; toute autre valeur transmise à <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code> produit une erreur 404.</p>\n<p><strong>Étend</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.ContextMixin\" title=\"django.views.generic.base.ContextMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.ContextMixin</span></code></a></p></li>\n</ul>\n<p><strong>Méthodes et attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.allow_empty\">\n<span class=\"sig-name descname\"><span class=\"pre\">allow_empty</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.allow_empty\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une valeur booléenne indiquant s’il faut afficher la page quand aucun objet n’est disponible. Si définie à <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> et qu’aucun objet n’est disponible, la vue génère une erreur 404 au lieu d’afficher une page vide. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.model\">\n<span class=\"sig-name descname\"><span class=\"pre\">model</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.model\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Le modèle pour lequel cette vue va afficher des données. Indiquer <code class=\"docutils literal notranslate\"><span class=\"pre\">model</span> <span class=\"pre\">=</span> <span class=\"pre\">Foo</span></code> revient au même que de définir <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span> <span class=\"pre\">=</span> <span class=\"pre\">Foo.objects.all()</span></code>, où <code class=\"docutils literal notranslate\"><span class=\"pre\">objects</span></code> correspond au <a class=\"reference internal\" href=\"/fr/2.2/topics/db/managers/#default-managers\"><span class=\"std std-ref\">gestionnaire par défaut</span></a> de <code class=\"docutils literal notranslate\"><span class=\"pre\">Foo</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.queryset\">\n<span class=\"sig-name descname\"><span class=\"pre\">queryset</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.queryset\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Un objet <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> représentant les objets. Lorsqu’elle est renseignée, la valeur de <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> écrase la valeur fournie pour <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.model\" title=\"django.views.generic.list.MultipleObjectMixin.model\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">model</span></code></a>.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Avertissement</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> est un attribut de classe avec une valeur <em>modifiable</em>, il faut donc être très prudent lorsqu’on l’utilise directement. Avant de l’utiliser, appelez sa méthode <a class=\"reference internal\" href=\"/fr/2.2/ref/models/querysets/#django.db.models.query.QuerySet.all\" title=\"django.db.models.query.QuerySet.all\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">all()</span></code></a> ou obtenez-la avec <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.get_queryset\" title=\"django.views.generic.list.MultipleObjectMixin.get_queryset\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_queryset()</span></code></a> qui se charge du clonage en arrière-plan.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.ordering\">\n<span class=\"sig-name descname\"><span class=\"pre\">ordering</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.ordering\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une chaîne ou une liste de chaînes indiquant l’ordre de tri à appliquer à <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code>. Les valeurs possibles sont les mêmes que pour <a class=\"reference internal\" href=\"/fr/2.2/ref/models/querysets/#django.db.models.query.QuerySet.order_by\" title=\"django.db.models.query.QuerySet.order_by\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">order_by()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.paginate_by\">\n<span class=\"sig-name descname\"><span class=\"pre\">paginate_by</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.paginate_by\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Un nombre entier indiquant combien d’objets doivent être affichés par page. Lorsque cette valeur est présente, la vue pagine les objets avec <code class=\"docutils literal notranslate\"><span class=\"pre\">paginate_by</span></code> objets par page. La vue s’attend soit à ce que la chaîne de requête de l’URL contienne un paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code> (par <code class=\"docutils literal notranslate\"><span class=\"pre\">request.GET</span></code>) ou qu’une variable <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code> ait été définie dans la configuration d’URL.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.paginate_orphans\">\n<span class=\"sig-name descname\"><span class=\"pre\">paginate_orphans</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.paginate_orphans\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Un nombre entier indiquant le nombre d’objets surnuméraires que la dernière page peut contenir. Cette valeur s’ajoute au nombre <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.paginate_by\" title=\"django.views.generic.list.MultipleObjectMixin.paginate_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">paginate_by</span></code></a> pour la dernière page, afin d’éviter que la dernière page contienne un très petit nombre d’objets.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.page_kwarg\">\n<span class=\"sig-name descname\"><span class=\"pre\">page_kwarg</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.page_kwarg\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une chaîne indiquant le nom à utiliser pour le paramètre de page. La vue s’attend à la présence de ce paramètre soit comme paramètre de la chaîne de requête de l’URL (via <code class=\"docutils literal notranslate\"><span class=\"pre\">request.GET</span></code>) ou comme variable nommée présente dans la configuration d’URL. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.paginator_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">paginator_class</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.paginator_class\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>La classe de pagination à utiliser pour effectuer la pagination. Par défaut, c’est <a class=\"reference internal\" href=\"/fr/2.2/topics/pagination/#django.core.paginator.Paginator\" title=\"django.core.paginator.Paginator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.paginator.Paginator</span></code></a> qui est utilisée. Si la classe de pagination personnalisée ne possède pas la même interface de constructeur que <a class=\"reference internal\" href=\"/fr/2.2/topics/pagination/#django.core.paginator.Paginator\" title=\"django.core.paginator.Paginator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.paginator.Paginator</span></code></a>, vous devrez également fournir une implémentation pour <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.get_paginator\" title=\"django.views.generic.list.MultipleObjectMixin.get_paginator\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_paginator()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.context_object_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">context_object_name</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.context_object_name\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Désigne le nom de la variable à utiliser dans le contexte.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_queryset\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_queryset</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_queryset\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Obtient la liste des éléments de la vue. Ce résultat doit être itérable et peut contenir un jeu de requête (pour lequel le comportement spécifique des jeux de requête est activé).</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_ordering\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_ordering</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_ordering\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une chaîne (ou une liste de chaînes) définissant le tri qui sera appliqué à <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code>.</p>\n<p>Renvoie <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.ordering\" title=\"django.views.generic.list.MultipleObjectMixin.ordering\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ordering</span></code></a> par défaut.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.paginate_queryset\">\n<span class=\"sig-name descname\"><span class=\"pre\">paginate_queryset</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">queryset</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">page_size</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.paginate_queryset\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un tuple à 4 éléments contenant (<code class=\"docutils literal notranslate\"><span class=\"pre\">paginator</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">is_paginated</span></code>).</p>\n<p>Construit en paginant <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> en pages de taille <code class=\"docutils literal notranslate\"><span class=\"pre\">page_size</span></code>. Si la requête contient un paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">page</span></code>, soit comme paramètre capturé dans l’URL ou sous forme de paramètre GET, <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code> correspondra aux objets de cette page.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_paginate_by\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_paginate_by</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">queryset</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_paginate_by\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le nombre d’éléments sur lequel baser la pagination, ou <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> pour éviter la pagination. Par défaut, cela renvoie simplement la valeur de <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.paginate_by\" title=\"django.views.generic.list.MultipleObjectMixin.paginate_by\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">paginate_by</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_paginator\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_paginator</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">queryset</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">per_page</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">orphans</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">allow_empty_first_page</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_paginator\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une instance de la classe de pagination à utiliser pour cette vue. Par défaut, une instance de <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.paginator_class\" title=\"django.views.generic.list.MultipleObjectMixin.paginator_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">paginator_class</span></code></a> est renvoyée.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_paginate_orphans\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_paginate_orphans</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_paginate_orphans\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Un nombre entier indiquant le nombre d’objets surnuméraires que la dernière page peut contenir. Par défaut, c’est la valeur de <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.paginate_orphans\" title=\"django.views.generic.list.MultipleObjectMixin.paginate_orphans\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">paginate_orphans</span></code></a> qui est renvoyée.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_allow_empty\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_allow_empty</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_allow_empty\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une valeur booléenne indiquant s’il faut afficher la page quand aucun objet n’est disponible. Si cette méthode renvoie <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> et qu’aucun objet n’est disponible, la vue produit une erreur 404 au lieu d’afficher une page vide. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_context_object_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context_object_name</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">object_list</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_context_object_name\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le nom de la variable de contexte utilisée pour contenir la liste des données que cette vue manipule. Si <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code> est un jeu de requête d’objets Django et que <a class=\"reference internal\" href=\"#django.views.generic.list.MultipleObjectMixin.context_object_name\" title=\"django.views.generic.list.MultipleObjectMixin.context_object_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">context_object_name</span></code></a> n’est pas défini, le nom du contexte correspondra au nom de modèle des objets contenus dans le jeu de requête, ajouté du suffixe  <code class=\"docutils literal notranslate\"><span class=\"pre\">'_list'</span></code>. Par exemple, pour le modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">Article</span></code>, la variable de contexte sera nommée par défaut <code class=\"docutils literal notranslate\"><span class=\"pre\">article_list</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectMixin.get_context_data\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context_data</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\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectMixin.get_context_data\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie les données du contexte pour afficher la liste des objets.</p>\n</dd></dl>\n\n<p><strong>Contexte</strong></p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code>: la liste des objets que cette vue va afficher. Si <code class=\"docutils literal notranslate\"><span class=\"pre\">context_object_name</span></code> est renseigné, cette variable sera également définie dans le contexte, avec le même contenu que <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">is_paginated</span></code>: une valeur booléenne indiquant si les résultats sont paginés. Plus particulièrement, <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> est renvoyé si aucune taille de page n’a été indiquée ou si les objets disponibles ne remplissent qu’une seule page.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">paginator</span></code>: une instance de <a class=\"reference internal\" href=\"/fr/2.2/topics/pagination/#django.core.paginator.Paginator\" title=\"django.core.paginator.Paginator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.paginator.Paginator</span></code></a>. Si les objets ne sont pas paginés, cette variable de contexte vaut <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">page_obj</span></code>: une instance de <a class=\"reference internal\" href=\"/fr/2.2/topics/pagination/#django.core.paginator.Page\" title=\"django.core.paginator.Page\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.paginator.Page</span></code></a>. Si les objets ne sont pas paginés, cette variable de contexte vaut <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"multipleobjecttemplateresponsemixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectTemplateResponseMixin</span></code><a class=\"heading-anchor\" href=\"#multipleobjecttemplateresponsemixin\"><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.views.generic.list.MultipleObjectTemplateResponseMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.list.</span></span><span class=\"sig-name descname\"><span class=\"pre\">MultipleObjectTemplateResponseMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectTemplateResponseMixin\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une classe mixin produisant une réponse basée sur un gabarit pour les vues opérant sur une liste d’instances d’objets. Exige que la vue dans laquelle elle est intégrée fournisse <code class=\"docutils literal notranslate\"><span class=\"pre\">self.object_list</span></code>, la liste des instances d’objets sur lesquelles la vue opère. <code class=\"docutils literal notranslate\"><span class=\"pre\">self.object_list</span></code> peut être un objet <a class=\"reference internal\" href=\"/fr/2.2/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code></a>, mais ce n’est pas obligatoire.</p>\n<p><strong>Étend</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponseMixin</span></code></a></p></li>\n</ul>\n<p><strong>Méthodes et attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_name_suffix</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectTemplateResponseMixin.template_name_suffix\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Le suffixe à ajouter au nom de gabarit auto-généré. Le suffixe par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">_list</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.list.MultipleObjectTemplateResponseMixin.get_template_names\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_template_names</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.list.MultipleObjectTemplateResponseMixin.get_template_names\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une liste de noms de gabarits potentiels. Cette liste contient :</p>\n<ul class=\"simple\">\n<li><p>la valeur de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> de la vue (s’il est défini)</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;nom_app&gt;/&lt;nom_modèle&gt;&lt;suffixe_gabarit&gt;.html</span></code></p></li>\n</ul>\n</dd></dl>\n\n</dd></dl>\n\n</section>","rootId":"multiple-object-mixins","toc":[{"title":"MultipleObjectMixin","anchor":"multipleobjectmixin","children":[]},{"title":"MultipleObjectTemplateResponseMixin","anchor":"multipleobjecttemplateresponsemixin","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/2.2/ref/"},{"docname":"ref/class-based-views/index","title":"API des vues intégrées fondées sur les classes","url":"/fr/2.2/ref/class-based-views/"},{"docname":"ref/class-based-views/mixins","title":"Vues « mixins » fondées sur les classes","url":"/fr/2.2/ref/class-based-views/mixins/"}],"prev":{"docname":"ref/class-based-views/mixins-single-object","title":"Classes mixins pour objet unique","url":"/fr/2.2/ref/class-based-views/mixins-single-object/"},"next":{"docname":"ref/class-based-views/mixins-editing","title":"Classes mixins d’édition","url":"/fr/2.2/ref/class-based-views/mixins-editing/"},"formats":{"html":"/fr/2.2/ref/class-based-views/mixins-multiple-object/","markdown":"/fr/2.2/ref/class-based-views/mixins-multiple-object.md","json":"/fr/2.2/ref/class-based-views/mixins-multiple-object.json"},"source":"https://github.com/django/django/blob/stable/2.2.x/docs/ref/class-based-views/mixins-multiple-object.txt","official":"https://docs.djangoproject.com/fr/2.2/ref/class-based-views/mixins-multiple-object/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}