Django: как сделать простой расчет с помощью django python?

Я создаю LMS с использованием django и хочу, чтобы студенты могли отслеживать свой прогресс во время обучения, в этом случае я хочу, чтобы пользователи отмечали урок как пройденный. Теперь проблема в том, как подсчитать общее количество уроков, несмотря на количество уроков, они получают результат 100%, даже если количество уроков 4 или даже 10, я просто хочу получить 100%, когда весь урок отмечен как завершенный

я пробовал следующее views.py

def trackProgress(request):
 progress = 100 - round(((total_unanswered_questions - 1) / total_questions) * 100)

где я должен отображать прогресс <div role="progressbar" data-aos="slide-right" data-aos-delay="200" data-aos-duration="1000" data-aos-easing="ease-in-out" style="width: 15%" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100">

это модель для лессонов

class Video(models.Model):
    title  = models.CharField(max_length = 100 , null = False)
    course = models.ForeignKey(Course , null = False , on_delete=models.CASCADE, related_name="videos")
    serial_number = models.IntegerField(null=False)
    hour = models.IntegerField(null=True, help_text="Enter course hours e.g: 3h")
    minutes = models.IntegerField(null=True, help_text="Enter course minutes e.g: 23m")
    video_id = models.CharField(max_length = 100 , null = False)
    is_preview = models.BooleanField(default = False)

NOTE: у меня также есть модель Course, где модель Video является внешним ключом к

У меня также есть эта модель, которая хранит курсы, на которые записался пользователь

class UserCourse(models.Model):
    user = models.ForeignKey(User , null = False , on_delete=models.CASCADE)
    course = models.ForeignKey(Course , null = False , on_delete=models.CASCADE, related_name="usercourse")
    payment_status = models.CharField(max_length=100, choices=PAYMENT_STATUS, default="pending")
    date = models.DateTimeField(auto_now_add=True)

models.py для Course

class Course(models.Model):
    course_title = models.CharField(max_length=100, null=True, blank=True)
    slug = models.SlugField(unique=True)
    course_creator = models.ForeignKey(User, on_delete=models.CASCADE)
Вернуться на верх