问题描述
Django管理员提供了非常基本的视图,用于在“列表”页面上应用过滤器,但是我们有几种用例需要进行多重选择,多重搜索和范围过滤。这些情况包括对相关字段和反向相关字段应用过滤
我们探索了几个软件包
- https://github.com/modlinltd/django-advanced-filters
- https://github.com/silentsokolov/django-admin-rangefilter
- https://github.com/lukasvinclav/django-admin-numeric-filter
但如果不摆弄基本模型管理员,似乎没有一个适合我们的用例。
是否有这些替代品? 如果创建自己的自定义过滤器,您将如何处理此类用例? -任何想法/技巧/建议从头开始?
我确实对这里的搜索有所了解-https://medium.com/@hakibenita/how-to-add-a-text-filter-to-django-admin-5d1db93772d8
- 要搜索多个选项,请计划使用逗号分隔的值,然后在后端将其拆分
- 对如何实现多选选择感到困惑
解决方法
如果您要过滤布尔值字段,请转到admin.py,然后在list_filter
中添加modelAdmin
。
例如:
from django.contrib import admin
class YourModelAdmin(admin.ModelAdmin):
list_filter = [
"first_boolean_field","second_bollean_field","third_boolean_field"
]
search_fields = (
"field1","field2",)
admin.site.register(YourModel,YourModelAdmin)
list_filter
将允许您多次按布尔字段进行过滤,而search_field
将允许您按元组中的字段进行搜索。