Skip to content

Commit db9de86

Browse files
committed
fix: resolve TypeError in grades PDF generation
Resolves a `TypeError: '<=' not supported between instances of 'int' and 'str'` that occurred during grades PDF generation. The `bimester` field in the `Grade` model is a `CharField` (e.g., '1B', '2B'), but it was being compared directly with integers in `api/students/views.py`. The fix involves extracting the numeric part of the `bimester` string (e.g., '1B' -> 1) before using it in comparisons and as an index.
1 parent 6bdd6fa commit db9de86

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

api/students/views.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,9 @@ def download_grades_pdf(self, request, pk=None):
8686
# Initialize with None for each bimester
8787
bimester_grades = [None, None, None, None]
8888
for grade in all_grades.filter(subject__full_name=subject):
89-
if 1 <= grade.bimester <= 4:
90-
bimester_grades[grade.bimester - 1] = grade.value
89+
bimester_num = int(grade.bimester[0]) # Extract the numeric part (e.g., "1B" -> 1)
90+
if 1 <= bimester_num <= 4:
91+
bimester_grades[bimester_num - 1] = grade.value
9192
data[subject] = bimester_grades
9293
return pdfgen(
9394
"grades.html",

0 commit comments

Comments
 (0)