Django 清除所有管理员列表过滤器

Posted

技术标签:

【中文标题】Django 清除所有管理员列表过滤器【英文标题】:Django Clear All Admin List Filters 【发布时间】:2013-09-16 07:03:50 【问题描述】:

我有一个 Django 管理控制面板,在每个对象列表中都有很多列表过滤器。我希望能够通过单击一个按钮来清除所有过滤器,但是如果它已经存在于 Django 中,则找不到此功能的位置。

我正在考虑的路线(但无法弄清楚):

    将面包屑导航中的最后一项链接到完整列表 将直接超链接作为过滤器列表选项 找到某种方法来访问所有查询选项并将其删除,或者只返回一个空白选项(queryset.all() 不起作用;我可能找错了树。) 那种东西应该已经存在了!了解如何使用它。

有人知道如何做到这一点吗?我整天都在想办法。

【问题讨论】:

【参考方案1】:

如果您在 search_fields 中至少有一个条目,因此在您的管理员更改列表页面上显示了一个搜索框,如果您有任何有效的过滤器或搜索词,您应该会在其右侧看到显示数量的信息符合您当前过滤器和搜索条件的行。它的措辞类似于“5 个结果(总共 50 个)”。 “总共 50 个”文本将链接到未过滤版本的列表,显示整个列表。可能分页,但所有过滤器都会被清除。

如果没有搜索框,这似乎不会自动显示。过滤器设置是 URL 查询字符串中的简单参数,因此应该很容易添加一个类似于在搜索框中删除查询字符串的链接,但是您必须了解一些有关管理模板的知识才能这样做.如果您有任何合理的搜索条件,设置 search_fields 条目可能更简单。

【讨论】:

以上是关于Django 清除所有管理员列表过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Django 管理员组权限列表中的额外表

当在另一个下拉列表上进行选择时,如何在 Django 的管理员中过滤下拉列表

django:使用搜索自动生成列表视图(管理员风格)

按 django admin 中的自定义列表显示字段进行列表过滤

如何在 django admin 中显示多个模型的更改列表?

Django Admin:获取根据 GET 字符串过滤的 QuerySet,与更改列表中看到的完全一样?