我有一个方法映射到urls.py
中的网址:
urlpatterns = [
url(r'^mydir/statistics', statistics_view, name="Statistics")
]
然后在mydir/statistics/views.py
中,我有以下方法:
def statistics_view(request):
list_mystuff = Mytable.objects.all() #Mytable is defined in models
....
#lots of code here to assign "enriched_models" data structure
enriched_models = {bunch of stuff}
......
return render(request, 'statistics.html', {"statistics_enriched_models": enriched_models})
一切正常,所有内容都使用statistics.html
模板呈现。
现在,我需要通过Mytable的字段之一实现下拉过滤器。
对于类,我将不得不在models.py中创建Statistics的类,在admin.py
中将StatisticsAdmin作为代理模型,将它们都注册,并拥有
list_filter=["myfield",]
在StatisticsAdmin中设置
是否有一种方法可以设置下拉列表过滤器(使用list_filters或其他方法),并直接创建下拉列表而不创建类,而仅使用已有的类(填充模板的方法)?
答案 0 :(得分:0)
更新
最后,我使用了django-filter工具:https://django-filter.readthedocs.io/en/master/index.html
用于下拉控件的过滤器是django_filters.ChoiceFilter。 很好