导出CSV文件功能!
# 定义一个导出功能的函数def export_model_as_csv(modeladmin, request, queryset):response = HttpResponse(content_type='test/csv',headers={'Content-Disposition': 'attachment; filename=test_%s.csv' % (datetime.now().strftime('%Y-%m-%d-%H-%M-%S'),)})field_list = export_listwrite = csv.writer(response)write.writerow([queryset.model._meta.get_field(f).verbose_name.title() for f in field_list])for obj in queryset:csv_line_values = []for field in field_list:field_object = queryset.model._meta.get_field(field)field_value = field_object.value_from_object(obj)csv_line_values.append(field_value)write.writerow(csv_line_values)return response# 定义按钮的名称export_model_as_csv.short_description = u'导出为csv文件'class CandidateAdmin(admin.ModelAdmin):actions = [export_model_as_csv, ]
附上文档地址:https://docs.djangoproject.com/zh-hans/3.2/howto/outputting-csv/
