fix: rparty create时dept字段冲突2

This commit is contained in:
caoqianming 2023-04-03 13:35:54 +08:00
parent cd3a0393ad
commit 7cbd581701
1 changed files with 8 additions and 11 deletions

View File

@ -30,18 +30,14 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer):
@transaction.atomic @transaction.atomic
def create(self, validated_data): def create(self, validated_data):
instance = super().create(validated_data) dept = Dept()
dept, _ = Dept.objects.get_or_create(name=instance.name, type="rparty", dept.name = validated_data['name']
defaults={ dept.parent = validated_data['belong_dept']
"name": instance.name, dept.type = 'rparty'
"parent": instance.belong_dept, dept.save()
"type": "rparty"
})
sync_dahua_dept(dept) sync_dahua_dept(dept)
Rparty.objects.get_queryset(all=True).filter(dept=dept).update(dept=None, is_deleted=True) validated_data['dept'] = dept
instance.dept = dept return super().create(validated_data)
instance.save()
return instance
@transaction.atomic @transaction.atomic
def update(self, instance, validated_data): def update(self, instance, validated_data):
@ -49,6 +45,7 @@ class RpartyCreateUpdateSerializer(CustomModelSerializer):
dept = instance.dept dept = instance.dept
if dept: if dept:
dept.name = instance.name dept.name = instance.name
dept.is_deleted = False
dept.parent = instance.belong_dept # 重新规划归属部门 dept.parent = instance.belong_dept # 重新规划归属部门
dept.save() dept.save()
sync_dahua_dept(dept) sync_dahua_dept(dept)