Django admin list_filter 重复

Posted

技术标签:

【中文标题】Django admin list_filter 重复【英文标题】:Django admin list_filter duplicate 【发布时间】:2012-03-30 02:07:54 【问题描述】:

无论如何要在其他视图中使用 Django 的“list_filter”功能?

【问题讨论】:

【参考方案1】:

一个有趣的外部应用程序允许您配置过滤器是django-filter。实际上它比 django admin list_filter 强大得多。

Django-filter 是一个可重用的 Django 应用程序,允许用户 动态过滤查询集。它需要 Python 2.4 或更高版本。为了 使用和安装说明请查阅docs目录。

Django-filter 可用于生成类似于 Django 管理员的list_filter 接口。它有一个非常相似的 API 到 Django 的ModelForms。例如,如果您有一个 Product 模型 你可以用代码为它设置一个过滤器:

import django_filters

class ProductFilterSet(django_filters.FilterSet):
    class Meta:
        model = Product
        fields = ['name', 'price', 'manufacturer']

然后在你看来你可以这样做:

def product_list(request):
    filterset = ProductFilterSet(request.GET or None)
    return render_to_response('product/product_list.html',
        'filterset': filterset)

有关详细信息,请参阅docs 目录。

幕后有一个非常棒的 AP​​I,所以真的很有趣。

【讨论】:

这似乎是一个很好的解决方案!我要试试看。谢谢!

以上是关于Django admin list_filter 重复的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 django admin List_Filter 模板

Django Admin list_filter 未显示

django admin list_filter "or" 条件

我可以在 django admin 中制作 list_filter 以仅显示引用的 ForeignKeys 吗?

Django Admin:带有def函数变量的list_filter和date_hierarchy

Django 1.11 admin list_filter 在另一个模型中包含字段