Нужно реализовать прохождение теста на Django

Вот написал POST метод для прохождение тестов

class TakeTestView(DetailView):
    model = TestModels
    template_name = 'courses/pass_test.html'
    context_object_name = 'test'

    def post(self, request, *args, **kwargs):
        self.object = self.get_object()
        questions = self.object.questions.all()
        total_questions = questions.count()
        correct_answers_count = 0

        for question in questions:
            selected_answer_id = request.POST.get(str(question.id))
            if selected_answer_id:
                selected_answer = Answer.objects.get(pk=selected_answer_id)
                answers = question.answers.all()
                if selected_answer.is_correct1 and answers.is_correct1:
                    correct_answers_count += 1
                elif selected_answer.is_correct2 and answers.is_correct2:
                    correct_answers_count += 1
                elif selected_answer.is_correct3 and answers.is_correct3:
                    correct_answers_count += 1
                elif selected_answer.is_correct4 and answers.is_correct4:
                    correct_answers_count += 1
        score = (correct_answers_count / total_questions) * 100
        test_result = Result.objects.create(user=request.user, test=self.object, score=score)
        return redirect('test_result', pk=test_result.pk)

    def get(self, request, pk):
        test = get_object_or_404(TestModels, pk=pk)
        questions = test.questions.all()
        return render(request, 'courses/pass_test.html', {'test': test, 'questions': questions})

Мои модели :

class Question(models.Model):
    test = models.ForeignKey(Test, verbose_name="Тест", on_delete=models.CASCADE, related_name='questions')
    question_text = models.TextField("Вопрос")
    num_question = models.IntegerField("Номер вопроса:", default=1)

    def __str__(self):
        return "Тест: " + self.test.title + ". Вопрос: №" + str(self.num_question)


    class Meta:
        verbose_name = 'Вопрос'
        verbose_name_plural = 'Вопросы'


class Answer(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name='answers')
    answer_text1 = models.TextField("Текст першої відповіді")
    is_correct1 = models.BooleanField("Перша відповідь є правильною", default=False)
    answer_text2 = models.TextField("Текст другої відповіді")
    is_correct2 = models.BooleanField("Друга відповідь є правильною", default=False)
    answer_text3 = models.TextField("Текст третьої відповіді")
    is_correct3 = models.BooleanField("Третя відповідь є правильною", default=False)
    answer_text4 = models.TextField("Текст четвертої відповіді")
    is_correct4 = models.BooleanField("Четверта відповідь є правильною", default=False)

    def __str__(self):
        return f"Тест: {self.question.test.title}. Ответ: №{self.question.num_question}"

    class Meta:
        verbose_name = 'Ответ'
        verbose_name_plural = 'Ответы'
for question in questions:
            selected_answer_id = request.POST.get(str(question.id))
            if selected_answer_id:
                selected_answer = Answer.objects.get(pk=selected_answer_id)
                answers = question.answers.all()
                if selected_answer.is_correct1 and answers.is_correct1:
                    correct_answers_count += 1
                elif selected_answer.is_correct2 and answers.is_correct2:
                    correct_answers_count += 1
                elif selected_answer.is_correct3 and answers.is_correct3:
                    correct_answers_count += 1
                elif selected_answer.is_correct4 and answers.is_correct4:
                    correct_answers_count += 1

Проблема скорее всего тут, я хочу что бы ответ_пользователя == правильный ответ давал + 1 бал, вот вроде сделал, не работает, ошибки не выдает, но по факту везде 0

Вернуться на верх