From 7cbd581701c468925161a0fd02dbd54ff15e8c56 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 3 Apr 2023 13:35:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20rparty=20create=E6=97=B6dept=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=86=B2=E7=AA=812?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rpm/serializers.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/apps/rpm/serializers.py b/apps/rpm/serializers.py index 8f67e05f..c97961b0 100644 --- a/apps/rpm/serializers.py +++ b/apps/rpm/serializers.py @@ -30,18 +30,14 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer): @transaction.atomic def create(self, validated_data): - instance = super().create(validated_data) - dept, _ = Dept.objects.get_or_create(name=instance.name, type="rparty", - defaults={ - "name": instance.name, - "parent": instance.belong_dept, - "type": "rparty" - }) + dept = Dept() + dept.name = validated_data['name'] + dept.parent = validated_data['belong_dept'] + dept.type = 'rparty' + dept.save() sync_dahua_dept(dept) - Rparty.objects.get_queryset(all=True).filter(dept=dept).update(dept=None, is_deleted=True) - instance.dept = dept - instance.save() - return instance + validated_data['dept'] = dept + return super().create(validated_data) @transaction.atomic def update(self, instance, validated_data): @@ -49,6 +45,7 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer): dept = instance.dept if dept: dept.name = instance.name + dept.is_deleted = False dept.parent = instance.belong_dept # 重新规划归属部门 dept.save() sync_dahua_dept(dept)