From efa01df49d57ed60e3e193a6a9129ddfe4f636d9 Mon Sep 17 00:00:00 2001 From: flyhy Date: Wed, 30 Aug 2023 18:08:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E7=B3=BB=E7=BB=9F=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=BA=E6=95=B0=E7=BB=84=E6=97=B6=EF=BC=8C=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E4=B8=AA=E5=85=83=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/system_config.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/backend/dvadmin/system/views/system_config.py b/backend/dvadmin/system/views/system_config.py index e37b513..77e74c6 100644 --- a/backend/dvadmin/system/views/system_config.py +++ b/backend/dvadmin/system/views/system_config.py @@ -171,14 +171,19 @@ class SystemConfigViewSet(CustomModelViewSet): def save_content(self, request): body = request.data - data_mapping = {item['id']: item for item in body} + data_mapping = {item['id']: item for item in body if item['id'] is not None} + create_data_list = list() for obj_id, data in data_mapping.items(): instance_obj = SystemConfig.objects.filter(id=obj_id).first() if instance_obj is None: - # return SystemConfig.objects.create(**data) - serializer = SystemConfigCreateSerializer(data=data) + create_data_list.append(data) else: serializer = SystemConfigCreateSerializer(instance_obj, data=data) + if serializer.is_valid(raise_exception=True): + serializer.save() + create_data_list += [item for item in body if item['id'] is None] + for data in create_data_list: + serializer = SystemConfigCreateSerializer(data=data) if serializer.is_valid(raise_exception=True): serializer.save() websocket_push("dvadmin", message={"sender": 'system', "contentType": 'SYSTEM',