fix: update exports for static answerset fields

Resolves #99
This commit is contained in:
James Graham
2021-05-17 18:26:52 +01:00
parent 479ef038d4
commit f37d7c77c4
5 changed files with 57 additions and 68 deletions

View File

@@ -7,6 +7,10 @@ from django.views.generic import TemplateView
from django.views.generic.list import BaseListView
class QuotedCsv(csv.excel):
quoting = csv.QUOTE_NONNUMERIC
class CsvExportView(LoginRequiredMixin, BaseListView):
model = None
serializer_class = None
@@ -18,10 +22,10 @@ class CsvExportView(LoginRequiredMixin, BaseListView):
# Force ordering by PK - though this should be default anyway
serializer = self.serializer_class(self.get_queryset().order_by('pk'), many=True)
writer = csv.DictWriter(response, fieldnames=serializer.child.column_headers)
writer = csv.DictWriter(response, dialect=QuotedCsv, fieldnames=serializer.child.column_headers)
writer.writeheader()
writer.writerows(serializer.data)
return response

View File

@@ -8,6 +8,7 @@ class PersonExportView(base.CsvExportView):
model = models.person.Person
serializer_class = serializers.people.PersonSerializer
class PersonAnswerSetExportView(base.CsvExportView):
model = models.person.PersonAnswerSet
serializer_class = serializers.people.PersonAnswerSetSerializer