From ec6c1c3d84833dfbf07ff11eb8d7dab07f052f5e Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 3 Apr 2023 12:44:13 +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=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rpm/serializers.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/rpm/serializers.py b/apps/rpm/serializers.py index 31021732..8f67e05f 100644 --- a/apps/rpm/serializers.py +++ b/apps/rpm/serializers.py @@ -31,13 +31,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, + dept, _ = Dept.objects.get_or_create(name=instance.name, type="rparty", defaults={ "name": instance.name, "parent": instance.belong_dept, "type": "rparty" }) 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 @@ -46,10 +47,11 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer): def update(self, instance, validated_data): instance = super().update(instance, validated_data) dept = instance.dept - dept.name = instance.name - dept.parent = instance.belong_dept # 重新规划归属部门 - dept.save() - sync_dahua_dept(dept) + if dept: + dept.name = instance.name + dept.parent = instance.belong_dept # 重新规划归属部门 + dept.save() + sync_dahua_dept(dept) return instance