diff --git a/apps/pm/serializers.py b/apps/pm/serializers.py index 2fa97378..3c09d1de 100644 --- a/apps/pm/serializers.py +++ b/apps/pm/serializers.py @@ -32,10 +32,14 @@ class UtaskSerializer(CustomModelSerializer): return attrs def update(self, instance, validated_data): - if instance.state != Mtask.MTASK_CREATED: - raise ValidationError('任务非创建中不可编辑') - new_data = {key: validated_data[key] for key in [ - 'number', 'count', 'start_date', 'end_date']} + if instance.state in [Mtask.MTASK_STOP, Mtask.MTASK_DONE]: + raise ValidationError('任务该状态下不可编辑') + if instance.state == Mtask.MTASK_CREATED: + new_data = {key: validated_data[key] for key in [ + 'number', 'count', 'start_date', 'end_date']} + else: + new_data = {key: validated_data[key] for key in [ + 'peifen_kg']} return super().update(instance, new_data)