def get(self, request, *args, **kwargs):
queryset = self.get_queryset()
field_names = self.get_fields(queryset)
response = HttpResponse(content_type='text/csv')
filename = self.get_filename(queryset)
response['Content-Disposition'] = 'attachment; filename="{}.csv"'.format(filename)
writer = csv.writer(response, **self.get_csv_writer_fmtparams())
if self.specify_separator:
response.write('sep={}{}'.format(writer.dialect.delimiter, writer.dialect.lineterminator))
if self.header:
writer.writerow([self.get_header_name(queryset.model, field_name) for field_name in list(field_names)])
for obj in queryset:
writer.writerow([self.get_field_value(obj, field) for field in field_names])
return response
评论列表
文章目录