我的目标是在Django管理站点中编写"导出选择为CSV"操作.
在阅读link1后,我认为将导出请求重定向到自定义视图是个好主意.
这是一个问题:如何将当前queryset页面传递给中间页面?
如果选择所有实例,则link1中的方法不起作用(请参阅link2).
为了在中间页面中获取查询集,我有两个选择:
pickle该queryset.query并将其发送到与中间页?qs={picked_qs_query},然后重新创建queryset中间页.在我看来,这是一个很好的解决方案,并使中间页面具有幂等性.当然,我可以忽略中间页面并在"导出选择为CSV"操作中返回CSV内容,但这真的是个好主意吗?
感谢您阅读此问题:-)
只需使用Django的默认delete_selected操作作为模板.它使用中间页面,没有复杂的酸洗等.
请参阅:https://github.com/django/django/blob/1.3.1/django/contrib/admin/actions.py