From 34b188bbe7077314cd22e54f3491d4ce49ba7201 Mon Sep 17 00:00:00 2001 From: xinwen Date: Tue, 28 Jul 2020 20:28:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(csv):=20=E4=BF=AE=E5=A4=8D`JMSCSVParser`?= =?UTF-8?q?=E8=B0=83=E7=94=A8`serializer`=E5=AF=BC=E8=87=B4=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E8=B0=83=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/drf/parsers/csv.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/common/drf/parsers/csv.py b/apps/common/drf/parsers/csv.py index 58b3f7bc2..de0d14ea7 100644 --- a/apps/common/drf/parsers/csv.py +++ b/apps/common/drf/parsers/csv.py @@ -47,9 +47,9 @@ class JMSCSVParser(BaseParser): yield row @staticmethod - def _get_fields_map(serializer): + def _get_fields_map(serializer_cls): fields_map = {} - fields = serializer.fields + fields = serializer_cls().fields fields_map.update({v.label: k for k, v in fields.items()}) fields_map.update({k: k for k, _ in fields.items()}) return fields_map @@ -101,7 +101,7 @@ class JMSCSVParser(BaseParser): try: view = parser_context['view'] meta = view.request.META - serializer = view.get_serializer() + serializer_cls = view.get_serializer_class() except Exception as e: logger.debug(e, exc_info=True) raise ParseError('The resource does not support imports!') @@ -121,7 +121,7 @@ class JMSCSVParser(BaseParser): rows = self._gen_rows(binary, charset=encoding) header = next(rows) - fields_map = self._get_fields_map(serializer) + fields_map = self._get_fields_map(serializer_cls) header = [fields_map.get(name.strip('*'), '') for name in header] data = []