Django应用CSV导出异常:导出全部数据而非筛选后数据求助
问题解决方法
你的代码里有个关键的大小写错误——Python是大小写敏感的:
你把过滤器实例赋值给了MyFilter(首字母大写),但导出CSV时调用的是myFilter.qs(首字母小写),这会导致程序无法识别正确的筛选后查询集,只能默认导出全部数据。
修改代码里的变量名大小写,保持统一即可,另外还需要修正一个模型查询的拼写错误:
qs = EventkindofProblem.objects.all() # 原代码里的object少了s,应为objects my_filter = eventfilter(request.GET, queryset=qs) return djqscsv.render_to_csv_response(my_filter.qs, append_data_stamp=True)
如果修正后仍有问题,检查以下两点:
- 确认
eventfilter类正确继承了django-filter的FilterSet,且配置的筛选字段能正确解析request.GET中的参数 - 导出CSV的请求是否携带了和页面筛选相同的GET参数,比如导出按钮是否传递了当前页面的筛选条件
内容的提问来源于stack exchange,提问作者Amir Ajoodani
相关产品推荐
相关产品推荐

