diff --git a/backend/apps/mentorship/api/internal/mutations/module.py b/backend/apps/mentorship/api/internal/mutations/module.py index 00446803bf..fd516f40d1 100644 --- a/backend/apps/mentorship/api/internal/mutations/module.py +++ b/backend/apps/mentorship/api/internal/mutations/module.py @@ -330,8 +330,10 @@ def update_module(self, info: strawberry.Info, input_data: UpdateModuleInput) -> user = info.context.request.user try: - module = Module.objects.select_related("program").get( - key=input_data.key, program__key=input_data.program_key + module = ( + Module.objects.select_related("program") + .select_for_update() + .get(key=input_data.key, program__key=input_data.program_key) ) except Module.DoesNotExist as e: raise ObjectDoesNotExist(MODULE_NOT_FOUND_MSG) from e diff --git a/backend/apps/mentorship/api/internal/mutations/program.py b/backend/apps/mentorship/api/internal/mutations/program.py index 0905e28c53..259c50d838 100644 --- a/backend/apps/mentorship/api/internal/mutations/program.py +++ b/backend/apps/mentorship/api/internal/mutations/program.py @@ -75,7 +75,7 @@ def update_program(self, info: strawberry.Info, input_data: UpdateProgramInput) user = info.context.request.user try: - program = Program.objects.get(key=input_data.key) + program = Program.objects.select_for_update().get(key=input_data.key) except Program.DoesNotExist as err: msg = f"Program with key '{input_data.key}' not found." logger.warning(msg, exc_info=True) @@ -144,7 +144,7 @@ def update_program_status( user = info.context.request.user try: - program = Program.objects.get(key=input_data.key) + program = Program.objects.select_for_update().get(key=input_data.key) except Program.DoesNotExist as e: msg = f"Program with key '{input_data.key}' not found." raise ObjectDoesNotExist(msg) from e