{"title":"ModelAdmin Lista Filter","version":"5.2","locale":"sv","docname":"ref/contrib/admin/filters","url":"/sv/5.2/ref/contrib/admin/filters/","canonical":"https://djangodocs.dev/sv/5.2/ref/contrib/admin/filters/","summary":"klasserna ModelAdmin kan definiera listfilter som visas i det högra sidofältet på sidan med ändringslistan i admin, vilket illustreras i följande skärmdump.","html":"<span id=\"id1\"></span><h1><code class=\"docutils literal notranslate\">ModelAdmin</code> Lista Filter<a class=\"heading-anchor\" href=\"#modeladmin-list-filters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>klasserna <code class=\"docutils literal notranslate\">ModelAdmin</code> kan definiera listfilter som visas i det högra sidofältet på sidan med ändringslistan i admin, vilket illustreras i följande skärmdump:</p>\n<img alt=\"/sv/5.2/_images/list_filter.png\" src=\"/sv/5.2/_images/list_filter.png\" />\n<p>För att aktivera filtrering per fält anger du <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter\" title=\"django.contrib.admin.ModelAdmin.list_filter\"><code class=\"xref py py-attr docutils literal notranslate\">ModelAdmin.list_filter</code></a> till en lista eller en tupel av element, där varje element är en av följande typer:</p>\n<ul class=\"simple\">\n<li><p>Ett fältnamn.</p></li>\n<li><p>En underklass av <code class=\"docutils literal notranslate\">django.contrib.admin.SimpleListFilter</code>.</p></li>\n<li><p>En 2-tupel som innehåller ett fältnamn och en subklass av <code class=\"docutils literal notranslate\">django.contrib.admin.FieldListFilter</code>.</p></li>\n</ul>\n<p>Se exemplen nedan för en diskussion om vart och ett av dessa alternativ för att definiera <code class=\"docutils literal notranslate\">list_filter</code>.</p>\n<section id=\"using-a-field-name\">\n<h2>Använda ett fältnamn<a class=\"heading-anchor\" href=\"#using-a-field-name\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Det enklaste alternativet är att ange de obligatoriska fältnamnen från din modell.</p>\n<p>Varje angivet fält ska vara antingen en <code class=\"docutils literal notranslate\">BooleanField</code>, <code class=\"docutils literal notranslate\">CharField</code>, <code class=\"docutils literal notranslate\">DateField</code>, <code class=\"docutils literal notranslate\">DateTimeField</code>, <code class=\"docutils literal notranslate\">IntegerField</code>, <code class=\"docutils literal notranslate\">ForeignKey</code> eller <code class=\"docutils literal notranslate\">ManyToManyField</code>, 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=\"k\">class</span> <span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>ModelAdmin<span class=\"p\">):</span>\n    list_filter <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;is_staff&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;company&quot;</span><span class=\"p\">]</span>\n</code></pre></div>\n<p>Fältnamn i <code class=\"docutils literal notranslate\">list_filter</code> kan också spänna över relationer med hjälp av <code class=\"docutils literal notranslate\">__</code> lookup, 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=\"k\">class</span> <span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>UserAdmin<span class=\"p\">):</span>\n    list_filter <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;company__name&quot;</span><span class=\"p\">]</span>\n</code></pre></div>\n</section>\n<section id=\"using-a-simplelistfilter\">\n<h2>Använda ett <code class=\"docutils literal notranslate\">SimpleListFilter</code><a class=\"heading-anchor\" href=\"#using-a-simplelistfilter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>För anpassad filtrering kan du definiera ditt eget listfilter genom att underklassa <code class=\"docutils literal notranslate\">django.contrib.admin.SimpleListFilter</code>. Du måste tillhandahålla attributen <code class=\"docutils literal notranslate\">title</code> och <code class=\"docutils literal notranslate\">parameter_name</code> och åsidosätta metoderna <code class=\"docutils literal notranslate\">lookups</code> och <code class=\"docutils literal notranslate\">queryset</code>, t.ex.:</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=\"kn\">from</span> <span class=\"nn\">datetime</span> <span class=\"kn\">import</span> date\n\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib</span> <span class=\"kn\">import</span> admin\n<span class=\"kn\">from</span> <span class=\"nn\">django.utils.translation</span> <span class=\"kn\">import</span> gettext_lazy <span class=\"k\">as</span> _\n\n\n<span class=\"k\">class</span> <span class=\"nc\">DecadeBornListFilter</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>SimpleListFilter<span class=\"p\">):</span>\n    <span class=\"c1\"># Human-readable title which will be displayed in the</span>\n    <span class=\"c1\"># right admin sidebar just above the filter options.</span>\n    title <span class=\"o\">=</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;decade born&quot;</span><span class=\"p\">)</span>\n\n    <span class=\"c1\"># Parameter for the filter that will be used in the URL query.</span>\n    parameter_name <span class=\"o\">=</span> <span class=\"s2\">&quot;decade&quot;</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">lookups</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> request<span class=\"p\">,</span> model_admin<span class=\"p\">):</span>\n        <span class=\"sd\">&quot;&quot;&quot;</span>\n<span class=\"sd\">        Returns a list of tuples. The first element in each</span>\n<span class=\"sd\">        tuple is the coded value for the option that will</span>\n<span class=\"sd\">        appear in the URL query. The second element is the</span>\n<span class=\"sd\">        human-readable name for the option that will appear</span>\n<span class=\"sd\">        in the right sidebar.</span>\n<span class=\"sd\">        &quot;&quot;&quot;</span>\n        <span class=\"k\">return</span> <span class=\"p\">[</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;80s&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;in the eighties&quot;</span><span class=\"p\">)),</span>\n            <span class=\"p\">(</span><span class=\"s2\">&quot;90s&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;in the nineties&quot;</span><span class=\"p\">)),</span>\n        <span class=\"p\">]</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">queryset</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> request<span class=\"p\">,</span> queryset<span class=\"p\">):</span>\n        <span class=\"sd\">&quot;&quot;&quot;</span>\n<span class=\"sd\">        Returns the filtered queryset based on the value</span>\n<span class=\"sd\">        provided in the query string and retrievable via</span>\n<span class=\"sd\">        `self.value()`.</span>\n<span class=\"sd\">        &quot;&quot;&quot;</span>\n        <span class=\"c1\"># Compare the requested value (either &#39;80s&#39; or &#39;90s&#39;)</span>\n        <span class=\"c1\"># to decide how to filter the queryset.</span>\n        <span class=\"k\">if</span> <span class=\"bp\">self</span><span class=\"o\">.</span>value<span class=\"p\">()</span> <span class=\"o\">==</span> <span class=\"s2\">&quot;80s&quot;</span><span class=\"p\">:</span>\n            <span class=\"k\">return</span> queryset<span class=\"o\">.</span>filter<span class=\"p\">(</span>\n                birthday__gte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1980</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span>\n                birthday__lte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1989</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">31</span><span class=\"p\">),</span>\n            <span class=\"p\">)</span>\n        <span class=\"k\">if</span> <span class=\"bp\">self</span><span class=\"o\">.</span>value<span class=\"p\">()</span> <span class=\"o\">==</span> <span class=\"s2\">&quot;90s&quot;</span><span class=\"p\">:</span>\n            <span class=\"k\">return</span> queryset<span class=\"o\">.</span>filter<span class=\"p\">(</span>\n                birthday__gte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1990</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span>\n                birthday__lte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1999</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">31</span><span class=\"p\">),</span>\n            <span class=\"p\">)</span>\n\n\n<span class=\"k\">class</span> <span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>ModelAdmin<span class=\"p\">):</span>\n    list_filter <span class=\"o\">=</span> <span class=\"p\">[</span>DecadeBornListFilter<span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Som en bekvämlighet skickas objektet <code class=\"docutils literal notranslate\">HttpRequest</code> till metoderna <code class=\"docutils literal notranslate\">lookups</code> och <code class=\"docutils literal notranslate\">queryset</code>, 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=\"k\">class</span> <span class=\"nc\">AuthDecadeBornListFilter</span><span class=\"p\">(</span>DecadeBornListFilter<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"nf\">lookups</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> request<span class=\"p\">,</span> model_admin<span class=\"p\">):</span>\n        <span class=\"k\">if</span> request<span class=\"o\">.</span>user<span class=\"o\">.</span>is_superuser<span class=\"p\">:</span>\n            <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span>lookups<span class=\"p\">(</span>request<span class=\"p\">,</span> model_admin<span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">queryset</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> request<span class=\"p\">,</span> queryset<span class=\"p\">):</span>\n        <span class=\"k\">if</span> request<span class=\"o\">.</span>user<span class=\"o\">.</span>is_superuser<span class=\"p\">:</span>\n            <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span>queryset<span class=\"p\">(</span>request<span class=\"p\">,</span> queryset<span class=\"p\">)</span>\n</code></pre></div>\n<p>Som en bekvämlighet skickas också objektet <code class=\"docutils literal notranslate\">ModelAdmin</code> till metoden <code class=\"docutils literal notranslate\">lookups</code>, till exempel om du vill basera uppslagningarna på tillgängliga data:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span> <span class=\"nc\">AdvancedDecadeBornListFilter</span><span class=\"p\">(</span>DecadeBornListFilter<span class=\"p\">):</span>\n    <span class=\"k\">def</span> <span class=\"nf\">lookups</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> request<span class=\"p\">,</span> model_admin<span class=\"p\">):</span>\n        <span class=\"sd\">&quot;&quot;&quot;</span>\n<span class=\"sd\">        Only show the lookups if there actually is</span>\n<span class=\"sd\">        anyone born in the corresponding decades.</span>\n<span class=\"sd\">        &quot;&quot;&quot;</span>\n        qs <span class=\"o\">=</span> model_admin<span class=\"o\">.</span>get_queryset<span class=\"p\">(</span>request<span class=\"p\">)</span>\n        <span class=\"k\">if</span> qs<span class=\"o\">.</span>filter<span class=\"p\">(</span>\n            birthday__gte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1980</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span>\n            birthday__lte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1989</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">31</span><span class=\"p\">),</span>\n        <span class=\"p\">)</span><span class=\"o\">.</span>exists<span class=\"p\">():</span>\n            <span class=\"k\">yield</span> <span class=\"p\">(</span><span class=\"s2\">&quot;80s&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;in the eighties&quot;</span><span class=\"p\">))</span>\n        <span class=\"k\">if</span> qs<span class=\"o\">.</span>filter<span class=\"p\">(</span>\n            birthday__gte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1990</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">),</span>\n            birthday__lte<span class=\"o\">=</span>date<span class=\"p\">(</span><span class=\"mi\">1999</span><span class=\"p\">,</span> <span class=\"mi\">12</span><span class=\"p\">,</span> <span class=\"mi\">31</span><span class=\"p\">),</span>\n        <span class=\"p\">)</span><span class=\"o\">.</span>exists<span class=\"p\">():</span>\n            <span class=\"k\">yield</span> <span class=\"p\">(</span><span class=\"s2\">&quot;90s&quot;</span><span class=\"p\">,</span> _<span class=\"p\">(</span><span class=\"s2\">&quot;in the nineties&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n</aside>\n</section>\n<section id=\"using-a-field-name-and-an-explicit-fieldlistfilter\">\n<h2>Använda ett fältnamn och ett explicit <code class=\"docutils literal notranslate\">FieldListFilter</code><a class=\"heading-anchor\" href=\"#using-a-field-name-and-an-explicit-fieldlistfilter\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Slutligen, om du vill ange en explicit filtertyp som ska användas med ett fält kan du tillhandahålla ett <code class=\"docutils literal notranslate\">list_filter</code>-objekt som en 2-tupel, där det första elementet är ett fältnamn och det andra elementet är en klass som ärver från <code class=\"docutils literal notranslate\">django.contrib.admin.FieldListFilter</code>, 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=\"k\">class</span> <span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>ModelAdmin<span class=\"p\">):</span>\n    list_filter <span class=\"o\">=</span> <span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"s2\">&quot;is_staff&quot;</span><span class=\"p\">,</span> admin<span class=\"o\">.</span>BooleanFieldListFilter<span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>Här kommer fältet <code class=\"docutils literal notranslate\">is_staff</code> att använda filtret <code class=\"docutils literal notranslate\">BooleanFieldListFilter</code>. Om du bara anger fältnamnet kommer fälten automatiskt att använda lämpligt filter i de flesta fall, men med det här formatet kan du styra vilket filter som används.</p>\n<p>Följande exempel visar tillgängliga filterklasser som du måste anmäla dig för att använda.</p>\n<p>Du kan begränsa valen i en relaterad modell till de objekt som är involverade i den relationen med hjälp av <code class=\"docutils literal notranslate\">RelatedOnlyFieldListFilter</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=\"k\">class</span> <span class=\"nc\">BookAdmin</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>ModelAdmin<span class=\"p\">):</span>\n    list_filter <span class=\"o\">=</span> <span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"s2\">&quot;author&quot;</span><span class=\"p\">,</span> admin<span class=\"o\">.</span>RelatedOnlyFieldListFilter<span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>Om man antar att <code class=\"docutils literal notranslate\">author</code> är en <code class=\"docutils literal notranslate\">ForeignKey</code> till en <code class=\"docutils literal notranslate\">User</code>-modell, kommer detta att begränsa <code class=\"docutils literal notranslate\">list_filter</code>-valen till de användare som har skrivit en bok, istället för att lista alla användare.</p>\n<p>Du kan filtrera tomma värden med hjälp av <code class=\"docutils literal notranslate\">EmptyFieldListFilter</code>, som kan filtrera på både tomma strängar och nollor, beroende på vad fältet tillåter att lagra:</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=\"k\">class</span> <span class=\"nc\">BookAdmin</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>ModelAdmin<span class=\"p\">):</span>\n    list_filter <span class=\"o\">=</span> <span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">,</span> admin<span class=\"o\">.</span>EmptyFieldListFilter<span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>Genom att definiera ett filter med hjälp av <code class=\"docutils literal notranslate\">__in</code> lookup, är det möjligt att filtrera för något av en grupp av värden. Du måste åsidosätta metoden <code class=\"docutils literal notranslate\">expected_parameters</code> och ange attributet <code class=\"docutils literal notranslate\">lookup_kwargs</code> med lämpligt fältnamn. Som standard kommer flera värden i frågesträngen att separeras med kommatecken, men detta kan anpassas via attributet <code class=\"docutils literal notranslate\">list_separator</code>. Följande exempel visar ett sådant filter som använder tecknet vertikalt rör som separator:</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=\"k\">class</span> <span class=\"nc\">FilterWithCustomSeparator</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>FieldListFilter<span class=\"p\">):</span>\n    <span class=\"c1\"># custom list separator that should be used to separate values.</span>\n    list_separator <span class=\"o\">=</span> <span class=\"s2\">&quot;|&quot;</span>\n\n    <span class=\"k\">def</span> <span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> field<span class=\"p\">,</span> request<span class=\"p\">,</span> params<span class=\"p\">,</span> model<span class=\"p\">,</span> model_admin<span class=\"p\">,</span> field_path<span class=\"p\">):</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span>lookup_kwarg <span class=\"o\">=</span> <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\">__in&quot;</span> <span class=\"o\">%</span> field_path\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span>field<span class=\"p\">,</span> request<span class=\"p\">,</span> params<span class=\"p\">,</span> model<span class=\"p\">,</span> model_admin<span class=\"p\">,</span> field_path<span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">expected_parameters</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"p\">[</span><span class=\"bp\">self</span><span class=\"o\">.</span>lookup_kwarg<span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>Fältet <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/contenttypes/#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> stöds inte.</p>\n</aside>\n<p>Listfilter visas vanligtvis bara om filtret har mer än ett val. Ett filters <code class=\"docutils literal notranslate\">has_output()</code>-metod styr om det ska visas eller inte.</p>\n<p>Det är möjligt att ange en anpassad mall för rendering av ett listfilter:</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=\"k\">class</span> <span class=\"nc\">FilterWithCustomTemplate</span><span class=\"p\">(</span>admin<span class=\"o\">.</span>SimpleListFilter<span class=\"p\">):</span>\n    template <span class=\"o\">=</span> <span class=\"s2\">&quot;custom_template.html&quot;</span>\n</code></pre></div>\n<p>Se standardmallen som tillhandahålls av Django (<code class=\"docutils literal notranslate\">admin/filter.html</code>) för ett konkret exempel.</p>\n</section>\n<section id=\"facets\">\n<span id=\"facet-filters\"></span><h2>Facetter<a class=\"heading-anchor\" href=\"#facets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Som standard kan räkningar för varje filter, så kallade facetter, visas genom att slå på dem via admingränssnittet. Dessa räkningar uppdateras i enlighet med de filter som används för närvarande. Se <a class=\"reference internal\" href=\"/sv/5.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.show_facets\" title=\"django.contrib.admin.ModelAdmin.show_facets\"><code class=\"xref py py-attr docutils literal notranslate\">ModelAdmin.show_facets</code></a> för mer information.</p>\n</section>","rootId":"modeladmin-list-filters","toc":[{"title":"Använda ett fältnamn","anchor":"using-a-field-name","children":[]},{"title":"Använda ett SimpleListFilter","anchor":"using-a-simplelistfilter","children":[]},{"title":"Använda ett fältnamn och ett explicit FieldListFilter","anchor":"using-a-field-name-and-an-explicit-fieldlistfilter","children":[]},{"title":"Facetter","anchor":"facets","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/5.2/ref/"},{"docname":"ref/contrib/index","title":"contrib paket","url":"/sv/5.2/ref/contrib/"},{"docname":"ref/contrib/admin/index","title":"Django-administratörens webbplats","url":"/sv/5.2/ref/contrib/admin/"}],"prev":{"docname":"ref/contrib/admin/actions","title":"Administrativa åtgärder","url":"/sv/5.2/ref/contrib/admin/actions/"},"next":{"docname":"ref/contrib/admin/admindocs","title":"Generatorn för Django-administratörsdokumentation","url":"/sv/5.2/ref/contrib/admin/admindocs/"},"formats":{"html":"/sv/5.2/ref/contrib/admin/filters/","markdown":"/sv/5.2/ref/contrib/admin/filters.md","json":"/sv/5.2/ref/contrib/admin/filters.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/contrib/admin/filters.txt","official":"https://docs.djangoproject.com/sv/5.2/ref/contrib/admin/filters/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}