diff --git a/apps/pm/views.py b/apps/pm/views.py index dd136345..a1c8ce7c 100644 --- a/apps/pm/views.py +++ b/apps/pm/views.py @@ -215,12 +215,15 @@ class MtaskViewSet(CustomModelViewSet): sr.is_valid(raise_exception=True) vdata = sr.validated_data total = 0 + userIds = [] for v in vdata: total += v['count'] + userIds.append(v['handle_user'].id) if total != mtask.count: raise ParseError('任务数量与分配数量不匹配') for v in vdata: Mtaskb.objects.get_or_create(mtask=mtask, handle_user=vdata['handle_user'], count=vdata['count']) + Mtaskb.objects.filter(mtask=mtask).exclude(handle_user__in=userIds).delete() return Response() class MtaskbViewSet(CustomModelViewSet):