From f43912bc52b23c574d799099b407b1e3cf31badc Mon Sep 17 00:00:00 2001 From: flyhy Date: Wed, 30 Aug 2023 18:02:20 +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=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=85=B6=E4=B8=AD=E4=B8=80=E4=B8=AA=E5=85=83=E7=B4=A0=EF=BC=8C?= =?UTF-8?q?=E5=8F=91=E9=80=81DELETE=E8=AF=B7=E6=B1=82=EF=BC=8C=E6=9C=AA?= =?UTF-8?q?=E4=BB=8E=E4=B8=8A=E7=BA=A7=E7=9A=84value=E4=B8=AD=E5=88=A0?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/system_config.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/backend/dvadmin/system/views/system_config.py b/backend/dvadmin/system/views/system_config.py index e37b513..37e8c55 100644 --- a/backend/dvadmin/system/views/system_config.py +++ b/backend/dvadmin/system/views/system_config.py @@ -169,6 +169,25 @@ class SystemConfigViewSet(CustomModelViewSet): # filter_fields = ['id','parent'] filter_class = SystemConfigFilter + def destroy(self, request, *args, **kwargs): + instance = self.get_object() + if instance.parent.form_item_type == 11: + parent = instance.parent + parent.value = list(filter(lambda x: x['key'] != instance.key, parent.value)) + parent.save() + return super().destroy(request, *args, **kwargs) + + def multiple_delete(self, request, *args, **kwargs): + request_data = request.data + keys = request_data.get('keys', None) + queryset = self.get_queryset().filter(id__in=keys) + for instance in queryset: + if instance.parent.form_item_type == 11: + parent = instance.parent + parent.value = list(filter(lambda x: x['key'] != instance.key, parent.value)) + parent.save() + return super().multiple_delete(request, *args, **kwargs) + def save_content(self, request): body = request.data data_mapping = {item['id']: item for item in body}