fix: rparty create时dept字段冲突

This commit is contained in:
caoqianming 2023-04-03 12:44:13 +08:00
parent e32f82ace7
commit ec6c1c3d84
1 changed files with 7 additions and 5 deletions

View File

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