From 4d928e4782a0c5d775784c5f9d7cad81b5c9ddc9 Mon Sep 17 00:00:00 2001 From: sosokker Date: Tue, 21 Nov 2023 02:40:54 +0700 Subject: [PATCH] Check existing of task in task order data --- backend/tasks/tasks/serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/tasks/tasks/serializers.py b/backend/tasks/tasks/serializers.py index fd55d9f..368962b 100644 --- a/backend/tasks/tasks/serializers.py +++ b/backend/tasks/tasks/serializers.py @@ -33,6 +33,14 @@ class ChangeTaskOrderSerializer(serializers.Serializer): if not ListBoard.objects.filter(id=list_board_id).exists(): raise serializers.ValidationError('ListBoard does not exist.') + existing_tasks = Todo.objects.filter(id__in=todo_order) + existing_task_ids = set(task.id for task in existing_tasks) + + non_existing_task_ids = set(todo_order) - existing_task_ids + + if non_existing_task_ids: + raise serializers.ValidationError(f'Tasks with IDs {non_existing_task_ids} do not exist.') + return data class ChangeTaskListBoardSerializer(serializers.Serializer):