Django Admin Filter多选

时间:2016-07-21 15:43:25

标签: django django-admin

在django管理界面中,更准确地说是在Changelist中,我想要有一些过滤器来排除列表中的一些食物。但是,在相同类型的字段上有大约10个过滤器都具有相同的选项(包含,排除)似乎有点不合适。

所以我们的想法是在过滤器中实现多重选择,这样我们就可以在一个盒子中排除多种类型的食物。 我尝试重写filter.html和十几个插件,但没有任何效果,我没有想法。

Here是我想要在过滤器中获得的。 有没有人知道它是否可能,如果是的话怎么样?

谢谢!

1 个答案:

答案 0 :(得分:6)

好吧,我今天成功解决了这个问题:

第一步是为这个过滤器创建自定义filter.html,并在select中添加多个标记。 但是,如果它工作就太容易了:它只是对列表中选择的最远元素进行过滤。

因此,我没有在我的self.value()中使用queryset(),而是从未返回列表,而是使用request.GET.getlist('[your_parameter_name]')来获取完整列表,因为它始终作为WSGIRequest存在,但是在ChangeList视图中,django使用request.GET.items(),只获取最后一项。

希望以后能帮助别人!