diff --git a/apps/rpm/serializers.py b/apps/rpm/serializers.py index b80fd2c4..e5b802ab 100644 --- a/apps/rpm/serializers.py +++ b/apps/rpm/serializers.py @@ -232,12 +232,15 @@ class RpjmemberCreateSerializer(CustomModelSerializer): else: raise ParseError('该成员信息不全请补充') re_in = False - if Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).exists(): - re_in =True + rpjm = Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).first() + if rpjm and rpjm.note == '提前离厂': + re_in = True + else: + raise ParseError('该成员已添加') with transaction.atomic(): reason = validated_data.pop('reason', '') if re_in: - ins = Rpjmember.objects.filter(remployee=remployee, rpj=validated_data['rpj']).first() + ins = super().update(ins, validated_data) else: ins = super().create(validated_data) for x in rcertificates: