【问题标题】:List filter to be conditional (according to results)列表过滤器是有条件的(根据结果)
【发布时间】:2016-02-17 03:51:49
【问题描述】:

在管理员中使用“List_Filter”,我想将其修改为仅显示具有内容的字段(根据过滤器)。

通过一个例子最容易解释。

例如,

选择类别过滤器(例如太阳镜)时,品牌过滤器列表将列出其过滤器中包含太阳镜的品牌。

这有意义吗?

如何做到这一点?

【问题讨论】:

  • 如果不知道您的模型是什么样子,很难准确理解您的意思。你能展示一下你的模型和过滤器是什么样子的吗?
  • 这可能是你要问的:stackoverflow.com/questions/9707002/…
  • 我想让 Django 自动执行此操作 - 这样我就不必单独创建 customlistfilters。

标签: django django-admin django-admin-filters


【解决方案1】:

我可能认为你必须根据前一个过滤器选择下一个过滤器。尝试从传递数据的 url 获取请求

def lookups(self, request, model_admin):

    if request.GET.get('previous_filter') == 'True':
       return []

    if request.GET.get('current_filter') == 'False':
        return [
          # Pass your List Here
        ]
    if self.value() is None:
        return []

【讨论】:

    猜你喜欢
    • 2021-10-12
    • 1970-01-01
    • 2022-10-07
    • 2022-01-23
    • 2016-09-05
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多