如何创建依赖于Django admin中的类别筛选器的子类别筛选器?

如何创建依赖于Django admin中的类别筛选器的子类别筛选器?,django,filter,admin,Django,Filter,Admin,在Django管理员的模型列表过滤器中,我有一个过滤器类别,我想添加一个过滤器子类别,其值取决于所选的类别值 如何使用ModelAdmin.list\u过滤器实现这一点 谢谢您为子类别创建一个从中插入的类 在方法查找中检查请求中是否有匹配的查询字符串。获取类别中是否有匹配的查询字符串,如果有,请基于此筛选器进行查询设置 应该是这样的:(根据实际模型进行更改..可能有语法错误,我没有测试代码,但看起来应该非常相似) 为子类别创建从插入的类 在方法查找中检查请求中是否有匹配的查询字符串。获取类别中是

在Django管理员的模型列表过滤器中,我有一个过滤器
类别
,我想添加一个过滤器
子类别
,其值取决于所选的
类别

如何使用
ModelAdmin.list\u过滤器实现这一点


谢谢您

为子类别创建一个从中插入的类

在方法
查找中
检查
请求中是否有匹配的查询字符串。获取
类别
中是否有匹配的查询字符串,如果有,请基于此筛选器进行查询设置

应该是这样的:(根据实际模型进行更改..可能有语法错误,我没有测试代码,但看起来应该非常相似)


为子类别创建从插入的类

在方法
查找中
检查
请求中是否有匹配的查询字符串。获取
类别
中是否有匹配的查询字符串,如果有,请基于此筛选器进行查询设置

应该是这样的:(根据实际模型进行更改..可能有语法错误,我没有测试代码,但看起来应该非常相似)


我知道这是一个很老的问题/答案,但我认为应该是
Category.objects.all()
而不是
Category.objects
。否则,您将得到一个错误,如“Manager object is not iterable”。我知道这是一个非常老的问题/答案,但我相信它应该是
Category.objects.all()
,而不是
Category.objects
。否则,您将得到一个类似“Manager对象不可编辑”的错误。
class SubCategoryFilter(SimpleListFilter):
    title = 'sub category'
    parameter_name = 'sub_category'

    def lookups(self, request, model_admin):
        sub_categories = Category.objects;
        if 'category' in request.GET:
             sub_categories = sub_categories.filter(main_category=request.GET['category'])
        return (
            (sub_cat.pk,sub_cat.text) for sub_cat in sub_categories
        )