django-import-export 将选中的数据下载下来
时间: 2023-12-05 19:06:38 浏览: 140
您可以使用django-import-export的`ExportActionModelAdmin`类来实现将选中的数据下载下来的功能。您需要将该类添加到您的admin.py文件中,并将您的ModelAdmin类继承该类:
```python
from import_export.admin import ExportActionModelAdmin
class MyModelAdmin(ExportActionModelAdmin):
# Your ModelAdmin code here
```
然后,在您的ModelAdmin类中,您可以添加一个action来实现选中数据的导出:
```python
from django.http import HttpResponse
def export_selected_objects(modeladmin, request, queryset):
# 导出选中的数据
export_data = modeladmin.get_export_data(queryset)
# 将导出的数据转为csv格式
export_format = modeladmin.get_export_formats()[0]()
response = HttpResponse(export_format.export_data(export_data), content_type=export_format.get_content_type())
# 设置响应头,指定下载文件名
response['Content-Disposition'] = 'attachment; filename=my_export.csv'
return response
export_selected_objects.short_description = "导出选中的数据"
class MyModelAdmin(ExportActionModelAdmin):
actions = [export_selected_objects]
# Your ModelAdmin code here
```
现在,在您的ModelAdmin中,您就可以使用`export_selected_objects` action来导出选中的数据了。
阅读全文