fix: rparty create时dept字段冲突2
This commit is contained in:
parent
cd3a0393ad
commit
7cbd581701
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue