在django管理界面中,更准确地说是在Changelist中,我想要有一些过滤器来排除列表中的一些食物。但是,在相同类型的字段上有大约10个过滤器都具有相同的选项(包含,排除)似乎有点不合适。
所以我们的想法是在过滤器中实现多重选择,这样我们就可以在一个盒子中排除多种类型的食物。 我尝试重写filter.html和十几个插件,但没有任何效果,我没有想法。
Here是我想要在过滤器中获得的。 有没有人知道它是否可能,如果是的话怎么样?
谢谢!
答案 0 :(得分:6)
好吧,我今天成功解决了这个问题:
第一步是为这个过滤器创建自定义filter.html,并在select中添加多个标记。 但是,如果它工作就太容易了:它只是对列表中选择的最远元素进行过滤。
因此,我没有在我的self.value()
中使用queryset()
,而是从未返回列表,而是使用request.GET.getlist('[your_parameter_name]')
来获取完整列表,因为它始终作为WSGIRequest存在,但是在ChangeList视图中,django使用request.GET.items()
,只获取最后一项。
希望以后能帮助别人!