python - Django为没有类/模型的视图添加下拉过滤器
问题描述
我有一个映射到 url 的方法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 创建类,StatisticsAdmin 作为代理模型admin.py
,注册它们,并
list_filter=["myfield",]
在 StatisticsAdmin 中设置
有没有办法设置下拉过滤器(使用 list_filters 或其他)并直接呈现下拉列表而不创建类,就像我已经拥有的(填充模板的方法)?
解决方案
更新
最后我使用了 django-filter 工具:https ://django-filter.readthedocs.io/en/master/index.html
用于下拉控件的过滤器是 django_filters.ChoiceFilter 。工作得很好。
推荐阅读
- pandas - 不需要的列的 Web 抓取问题
- python - Python Pandas read_excel - OverflowError:日期值超出范围
- fix-protocol - QuickFixj Api - 会话 Api - 方法
- android - 我将如何在 Kotlin 中为我的 TextView 编写扩展函数测试?
- mysql - 如何在 MySQL 查询中包含 Row_Number 函数
- r - ggplot2:geom_area 产生的输出与预期不同
- python - 如何在 python 上使用 selenium 修改嵌入在网页上的 XML?
- c - 我如何在动态分配的结构中释放()动态分配的数组
- javascript - 在画布上绘制一个旋转的 Path2D 对象
- javascript - plotly.js 中 3D 散点图中的垂直线