django-import-export 打印选中的数据
时间: 2023-10-10 15:10:58 浏览: 104
要打印选中的数据,您需要在Django-Import-Export的Admin中使用自定义Action。下面是一个示例:
```python
from django.http import HttpResponse
from import_export.admin import ExportActionMixin
class PrintSelectedAction(ExportActionMixin, admin.ModelAdmin):
list_display = ('id', 'name', 'email')
actions = ['print_selected']
def print_selected(self, request, queryset):
selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
exported_data = self.export_queryset(queryset)
# 在控制台中输出选中的数据
print(exported_data)
# 将选中的数据作为CSV文件下载
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="selected_data.csv"'
response.write(exported_data)
return response
print_selected.short_description = "Print selected data"
```
在Admin中注册这个Action:
```python
admin.site.register(MyModel, PrintSelectedAction)
```
现在,当您选中要打印的数据并点击“Print selected data”按钮时,将会在控制台中输出选中的数据,并且会自动下载一个CSV文件。
阅读全文