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