|
|
|
@ -140,7 +140,7 @@ class MyCourseListAPIView(ListAPIView): |
|
|
|
qs = queryset.filter(participants__student=student) |
|
|
|
completed_only = filters.get('completed', '').lower() == 'true' |
|
|
|
if completed_only: |
|
|
|
queryset = queryset.annotate( |
|
|
|
queryset = qs.annotate( |
|
|
|
total_lessons=Count('lessons', distinct=True), |
|
|
|
completed_lessons=Count( |
|
|
|
'lessons__completions', |
|
|
|
@ -149,11 +149,11 @@ class MyCourseListAPIView(ListAPIView): |
|
|
|
) |
|
|
|
).filter(total_lessons=F('completed_lessons')) |
|
|
|
if certificate := filters.get('certificate', '').lower() == 'true': |
|
|
|
queryset = queryset.exclude( |
|
|
|
queryset = qs.exclude( |
|
|
|
course_certificates__student=student, |
|
|
|
course_certificates__status__in=['pending', 'approved'] |
|
|
|
) |
|
|
|
return queryset |
|
|
|
return qs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|