From a7a7a5b6f0da0bbfc23d8ad9fe8c99a18a868d14 Mon Sep 17 00:00:00 2001 From: andrey-canon Date: Tue, 3 Jun 2025 15:41:18 -0500 Subject: [PATCH] fix: implement __repr__ method in order to avoid maximum recursion error --- lms/djangoapps/courseware/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lms/djangoapps/courseware/models.py b/lms/djangoapps/courseware/models.py index eacf2424de..5006299451 100644 --- a/lms/djangoapps/courseware/models.py +++ b/lms/djangoapps/courseware/models.py @@ -287,6 +287,16 @@ class StudentModuleHistory(BaseStudentModuleHistory): student_module = models.ForeignKey(StudentModule, db_index=True, db_constraint=False, on_delete=models.CASCADE) + def __repr__(self): + student_dict = { + "course_id": str(self.student_module.course_id), + "module_type": self.student_module.module_type, + "student_id": self.student_module.student_id, + "grade": self.grade, + } + + return f"StudentModuleHistory<{student_dict!r}>" + def __str__(self): return str(repr(self))