{"title":"ModelAdmin Scagairí Liosta","version":"6.1","locale":"ga","docname":"ref/contrib/admin/filters","url":"/ga/6.1/ref/contrib/admin/filters/","canonical":"https://djangodocs.dev/ga/6.1/ref/contrib/admin/filters/","summary":"Is féidir le ranganna ModelAdmin scagairí liosta a shainiú atá le feiceáil i mbarra taobh na láimhe deise de leathanach liosta athraithe an riaracháin, mar a…","html":"<span id=\"id1\"></span><h1><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> Scagairí Liosta<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>Is féidir le ranganna <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> scagairí liosta a shainiú atá le feiceáil i mbarra taobh na láimhe deise de leathanach liosta athraithe an riaracháin, mar a léirítear sa scáileán seo a leanas:</p>\n<img alt=\"/ga/6.1/_images/list_filter.png\" src=\"/ga/6.1/_images/list_filter.png\" />\n<p>Chun scagadh in aghaidh an réimse a ghníomhachtú, socraí:attr: ModelAdmin.list_filter chuig liosta nó tupla eilimintí, áit a bhfuil gach eilimint ar cheann de na cineálacha seo a leanas:</p>\n<ul class=\"simple\">\n<li><p>Ainm réimse.</p></li>\n<li><p>Fo-aicme de <code class=\"docutils literal notranslate\"><span class=\"pre\">Django.Contrib.admin.SimpleListFilter</span></code>.</p></li>\n<li><p>2 tuple ina bhfuil ainm réimse agus fo-aicme de <code class=\"docutils literal notranslate\"><span class=\"pre\">Django.Contrib.admin.FieldListFilter</span></code>.</p></li>\n</ul>\n<p>Féach na samplaí thíos chun plé a dhéanamh ar gach ceann de na roghanna seo chun list_filter` a shainiú.</p>\n<section id=\"using-a-field-name\">\n<h2>Ainm réimse a úsáid<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>Is é an rogha is simplí ná na hainmneacha réimse riachtanacha a shonrú ó do shamhail.</p>\n<p>Ba chóir go mbeadh <code class=\"docutils literal notranslate\"><span class=\"pre\">Booleanfield</span></code>, Charfield`, <code class=\"docutils literal notranslate\"><span class=\"pre\">DateField</span></code>, DateTimeField`, <code class=\"docutils literal notranslate\"><span class=\"pre\">Integerfield</span></code>, ForeignKey` nó <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyTomanyField</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ManyToManyField</span></code>, mar shampla:</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=\"w\"> </span><span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">ModelAdmin</span><span class=\"p\">):</span>\n    <span class=\"n\">list_filter</span> <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>Is féidir le hainmneacha réimse i list_filter` caidrimh a scaipeadh freisin ag baint úsáide as an lorg <code class=\"docutils literal notranslate\"><span class=\"pre\">__</span></code>, mar shampla:</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=\"w\"> </span><span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">UserAdmin</span><span class=\"p\">):</span>\n    <span class=\"n\">list_filter</span> <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>Ag baint úsáide as <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleListFilter</span></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>Le haghaidh scagadh saincheaptha, is féidir leat do scagaire liosta féin a shainiú trí “Django.Contrib.Admin.SimpleListFilter” a fho-aicmiú. Ní mór duit na tréithe <code class=\"docutils literal notranslate\"><span class=\"pre\">`title</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">parameter_name</span></code> a sholáthar, agus na modhanna <code class=\"docutils literal notranslate\"><span class=\"pre\">lookups</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> a shárú, m.sh.:</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=\"w\"> </span><span class=\"nn\">datetime</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">date</span>\n\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">admin</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.utils.translation</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">gettext_lazy</span> <span class=\"k\">as</span> <span class=\"n\">_</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">DecadeBornListFilter</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">SimpleListFilter</span><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    <span class=\"n\">title</span> <span class=\"o\">=</span> <span class=\"n\">_</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    <span class=\"n\">parameter_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;decade&quot;</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">lookups</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">model_admin</span><span class=\"p\">):</span>\n<span class=\"w\">        </span><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=\"n\">_</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=\"n\">_</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=\"w\"> </span><span class=\"nf\">queryset</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">queryset</span><span class=\"p\">):</span>\n<span class=\"w\">        </span><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><span class=\"n\">value</span><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> <span class=\"n\">queryset</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n                <span class=\"n\">birthday__gte</span><span class=\"o\">=</span><span class=\"n\">date</span><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                <span class=\"n\">birthday__lte</span><span class=\"o\">=</span><span class=\"n\">date</span><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><span class=\"n\">value</span><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> <span class=\"n\">queryset</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n                <span class=\"n\">birthday__gte</span><span class=\"o\">=</span><span class=\"n\">date</span><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                <span class=\"n\">birthday__lte</span><span class=\"o\">=</span><span class=\"n\">date</span><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=\"w\"> </span><span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">ModelAdmin</span><span class=\"p\">):</span>\n    <span class=\"n\">list_filter</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"n\">DecadeBornListFilter</span><span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Mar áisiúlacht, cuirtear an réad HttpRequest` chuig na modhanna <code class=\"docutils literal notranslate\"><span class=\"pre\">lookups</span></code> agus <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code>, mar shampla:</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=\"w\"> </span><span class=\"nc\">AuthDecadeBornListFilter</span><span class=\"p\">(</span><span class=\"n\">DecadeBornListFilter</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">lookups</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">model_admin</span><span class=\"p\">):</span>\n        <span class=\"k\">if</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">is_superuser</span><span class=\"p\">:</span>\n            <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">lookups</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">model_admin</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">queryset</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">queryset</span><span class=\"p\">):</span>\n        <span class=\"k\">if</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">user</span><span class=\"o\">.</span><span class=\"n\">is_superuser</span><span class=\"p\">:</span>\n            <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">queryset</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">queryset</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Mar áisiúlacht freisin, cuirtear an réad <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> chuig an modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>lookups`, mar shampla más mian leat na cuardaigh a bhunú ar na sonraí atá ar fáil:</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=\"w\"> </span><span class=\"nc\">AdvancedDecadeBornListFilter</span><span class=\"p\">(</span><span class=\"n\">DecadeBornListFilter</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">lookups</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">model_admin</span><span class=\"p\">):</span>\n<span class=\"w\">        </span><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        <span class=\"n\">qs</span> <span class=\"o\">=</span> <span class=\"n\">model_admin</span><span class=\"o\">.</span><span class=\"n\">get_queryset</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">)</span>\n        <span class=\"k\">if</span> <span class=\"n\">qs</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n            <span class=\"n\">birthday__gte</span><span class=\"o\">=</span><span class=\"n\">date</span><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            <span class=\"n\">birthday__lte</span><span class=\"o\">=</span><span class=\"n\">date</span><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><span class=\"n\">exists</span><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=\"n\">_</span><span class=\"p\">(</span><span class=\"s2\">&quot;in the eighties&quot;</span><span class=\"p\">))</span>\n        <span class=\"k\">if</span> <span class=\"n\">qs</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span>\n            <span class=\"n\">birthday__gte</span><span class=\"o\">=</span><span class=\"n\">date</span><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            <span class=\"n\">birthday__lte</span><span class=\"o\">=</span><span class=\"n\">date</span><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><span class=\"n\">exists</span><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=\"n\">_</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>Ag baint úsáide as ainm réimse agus <code class=\"docutils literal notranslate\"><span class=\"pre\">FieldlistFilter</span></code> follasach<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>Mar fhocal scoir, más mian leat cineál scagaire follasach a shonrú le húsáid le réimse féadfaidh tú mír list_filter` a sholáthar mar 2-tuple, áit a bhfuil ainm réimse an chéad eilimint agus is aicme é an dara eilimint ag oidhreacht ó <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admin.fieldlistfilter</span></code>, mar shampla:</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=\"w\"> </span><span class=\"nc\">PersonAdmin</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">ModelAdmin</span><span class=\"p\">):</span>\n    <span class=\"n\">list_filter</span> <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> <span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">BooleanFieldListFilter</span><span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>Anseo úsáidfidh an réimse <code class=\"docutils literal notranslate\"><span class=\"pre\">is_staff</span></code> an BooleanFieldListFilter`. Ag sonrú ach ainm an réimse, úsáidfidh réimsí an scagaire cuí go huathoibríoch don chuid is mó de na cásanna, ach tugann an fhormáid seo deis duit an scagaire a úsáidtear</p>\n<p>Taispeánann na samplaí seo a leanas ranganna scagaire atá ar fáil a chaithfidh tú roghnú isteach le húsáid.</p>\n<p>Féadfaidh tú roghanna samhail ghaolmhara a theorannú leis na rudaí a bhaineann leis an ngaol sin ag baint úsáide as <code class=\"docutils literal notranslate\"><span class=\"pre\">RelatedOnlyFieldListFilter</span></code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">BookAdmin</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">ModelAdmin</span><span class=\"p\">):</span>\n    <span class=\"n\">list_filter</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"s2\">&quot;author&quot;</span><span class=\"p\">,</span> <span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">RelatedOnlyFieldListFilter</span><span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>Ag glacadh leis gur <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> é údar` do mhúnla <code class=\"docutils literal notranslate\"><span class=\"pre\">Úsáideora</span> <span class=\"pre\">``,</span> <span class=\"pre\">cuirfidh</span> <span class=\"pre\">sé</span> <span class=\"pre\">seo</span> <span class=\"pre\">teorainn</span> <span class=\"pre\">leis</span> <span class=\"pre\">na</span> <span class=\"pre\">roghanna</span> <span class=\"pre\">``list_filter</span></code> do na húsáideoirí a scríobh leabhar, in ionad gach úsáideoir a liostáil.</p>\n<p>Is féidir leat luachanna folmha a scagadh ag baint úsáide as EmptyFieldListFilter`, atá in ann scagadh ar theagáin folamh agus ar neamhaill araon, ag brath ar an méid a cheadaíonn an réimse a stóráil:</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=\"w\"> </span><span class=\"nc\">BookAdmin</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">ModelAdmin</span><span class=\"p\">):</span>\n    <span class=\"n\">list_filter</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n        <span class=\"p\">(</span><span class=\"s2\">&quot;title&quot;</span><span class=\"p\">,</span> <span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">EmptyFieldListFilter</span><span class=\"p\">),</span>\n    <span class=\"p\">]</span>\n</code></pre></div>\n<p>By defining a filter using the <code class=\"docutils literal notranslate\"><span class=\"pre\">__in</span></code> lookup, it is possible to filter for\nany of a group of values. You need to override the <code class=\"docutils literal notranslate\"><span class=\"pre\">expected_parameters</span></code>\nmethod, and then specify the <code class=\"docutils literal notranslate\"><span class=\"pre\">lookup_kwargs</span></code> attribute with the appropriate\nfield name. By default, multiple values in the query string will be separated\nwith commas, but this can be customized via the <code class=\"docutils literal notranslate\"><span class=\"pre\">list_separator</span></code> attribute.\nThe following example shows such a filter using the vertical-pipe character as\nthe 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=\"w\"> </span><span class=\"nc\">FilterWithCustomSeparator</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">FieldListFilter</span><span class=\"p\">):</span>\n    <span class=\"c1\"># custom list separator that should be used to separate values.</span>\n    <span class=\"n\">list_separator</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;|&quot;</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">field</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">params</span><span class=\"p\">,</span> <span class=\"n\">model</span><span class=\"p\">,</span> <span class=\"n\">model_admin</span><span class=\"p\">,</span> <span class=\"n\">field_path</span><span class=\"p\">):</span>\n        <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">lookup_kwarg</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;</span><span class=\"si\">%s</span><span class=\"s2\">__in&quot;</span> <span class=\"o\">%</span> <span class=\"n\">field_path</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"n\">field</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"n\">params</span><span class=\"p\">,</span> <span class=\"n\">model</span><span class=\"p\">,</span> <span class=\"n\">model_admin</span><span class=\"p\">,</span> <span class=\"n\">field_path</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </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><span class=\"n\">lookup_kwarg</span><span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Ní thacaítear leis an réimse: Class: ~django.contrib.contentTypes.Fields.GenericForeignKey.</p>\n</aside>\n<p>De ghnáth ní bhfeictear scagairí liosta ach amháin má tá níos mó ná rogha amháin ag an scagaire. Rialaíonn modh <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>has_output () <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>scagaire cibé an bhfuil sé le feiceáil nó nach bhfuil.</p>\n<p>Is féidir teimpléad saincheaptha a shonrú chun scagaire liosta a rindreáil:</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=\"w\"> </span><span class=\"nc\">FilterWithCustomTemplate</span><span class=\"p\">(</span><span class=\"n\">admin</span><span class=\"o\">.</span><span class=\"n\">SimpleListFilter</span><span class=\"p\">):</span>\n    <span class=\"n\">template</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;custom_template.html&quot;</span>\n</code></pre></div>\n<p>Féach an teimpléad réamhshocraithe a sholáthraíonn Django (<code class=\"docutils literal notranslate\"><span class=\"pre\">admin/filter.html</span></code>) le haghaidh sampla nithiúil.</p>\n</section>\n<section id=\"facets\">\n<span id=\"facet-filters\"></span><h2>Gnéithe<a class=\"heading-anchor\" href=\"#facets\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>De réir réamhshocraithe, is féidir comhaireamh do gach scagaire, ar a dtugtar gnéithe, a thaispeáint trí aistriú tríd an gChomhéadan riaracháin. Déanfar na comhaireanta seo a nuashonrú de réir na scagairí atá i bhfeidh Féach: attr: ModelAdmin.show_facets le haghaidh tuilleadh sonraí.</p>\n</section>","rootId":"modeladmin-list-filters","toc":[{"title":"Ainm réimse a úsáid","anchor":"using-a-field-name","children":[]},{"title":"Ag baint úsáide as SimpleListFilter","anchor":"using-a-simplelistfilter","children":[]},{"title":"Ag baint úsáide as ainm réimse agus FieldlistFilter follasach","anchor":"using-a-field-name-and-an-explicit-fieldlistfilter","children":[]},{"title":"Gnéithe","anchor":"facets","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Tagairt API","url":"/ga/6.1/ref/"},{"docname":"ref/contrib/index","title":"Pacáistí contrib","url":"/ga/6.1/ref/contrib/"},{"docname":"ref/contrib/admin/index","title":"Suíomh riaracháin Django","url":"/ga/6.1/ref/contrib/admin/"}],"prev":{"docname":"ref/contrib/admin/actions","title":"gníomhartha riaracháin","url":"/ga/6.1/ref/contrib/admin/actions/"},"next":{"docname":"ref/contrib/admin/admindocs","title":"Gineadóir doiciméadaithe riaracháin Django","url":"/ga/6.1/ref/contrib/admin/admindocs/"},"formats":{"html":"/ga/6.1/ref/contrib/admin/filters/","markdown":"/ga/6.1/ref/contrib/admin/filters.md","json":"/ga/6.1/ref/contrib/admin/filters.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/contrib/admin/filters.txt","official":"https://docs.djangoproject.com/ga/6.1/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"]}