django - django export to csv 仅从当前页面导出数据
问题描述
我正在尝试将 django Listview 导出到 csv。我为 ListView 创建了一个视图,它具有自定义 get_queryset() 函数来创建过滤结果。Listview 本身使用分页来显示数据。
对于导出,我创建了一个子类,继承了 Listview,带有自定义 url 和 csv 模板文件。
Listview 和导出过程本身工作得很好,但我没有在 csv 中获得完整的查询集,而只有分页 Listview 的第一页上存在的数据。
有什么建议我缺少什么吗?
解决方案
我建议你制作一个基本的抽象视图,它没有放在 urlpatterns 中,它具有共同的逻辑:
class MyListView(ListView):
model = Foo
def get_queryset(...):
...
然后为您的 CSV 准备一个具有任何不同功能的文件:
class MyCSVListView(MyListView):
...
还有一个供您定期查看:
class MyPaginatedListView(MyListView):
paginate_by = 100
这样,您应该避免来自其他视图的任何副作用。
推荐阅读
- java - Azure Cosmos 文档数据库的 Java Api (SQL Api)
- javascript - 使用 JavaScript 将 max-height 设置为 calc 不起作用(无法分配给 CSS 属性)
- r - Plotly and Shiny:是否可以将事件数据作为列表对象获取?
- python - 按列表内的值增加第 i 列元素
- user-interface - 尝试为登录屏幕固定背景
- twa - TWA 性能缓慢
- amazon-web-services - S3 存储桶复制对象
- wordpress - 上传的图像未从 mac 苹果系统保存到 wordpress
- javascript - 如何在 chrome 扩展上获得一个有效的 AJAX/PHP 脚本
- c# - NReco 是否支持以编程方式填写 PDF 表单?