From f2a9b322585c94035ee1ab7d107d72b61396fdda Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Thu, 21 Aug 2025 15:33:29 +0500 Subject: [PATCH] fix: django52 tightened consistency around delete ordering and signal/delete() method invocation. --- 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 56de6f965a72..d58fe9801d0e 100644 --- a/lms/djangoapps/teams/models.py +++ b/lms/djangoapps/teams/models.py @@ -293,8 +293,10 @@ def save(self, *args, **kwargs): # lint-amnesty, pylint: disable=arguments-diff 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):