From 053abe33de6c8fe90a1f0d7e971b197d4b8b8519 Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Wed, 27 Aug 2025 13:37:20 +0500 Subject: [PATCH] fix: django52 tightened consistency around delete ordering and signal/delete() method invocation. (#37250) --- lms/djangoapps/teams/models.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/teams/models.py b/lms/djangoapps/teams/models.py index 56de6f965a..d58fe9801d 100644 --- a/lms/djangoapps/teams/models.py +++ b/lms/djangoapps/teams/models.py @@ -293,8 +293,10 @@ class CourseTeamMembership(models.Model): def delete(self, *args, **kwargs): # lint-amnesty, pylint: disable=arguments-differ, signature-differs """Recompute the related team's team_size after deleting a membership""" + team = self.team # store reference before deleting super().delete(*args, **kwargs) - self.team.reset_team_size() + if team and team.pk: # only reset size if team still exists + team.reset_team_size() @classmethod def get_memberships(cls, username=None, course_ids=None, team_ids=None):