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
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)