def dispatch(self, request, *args, **kwargs): profile = request.user.get_profile() self.quiz_user = profile.get_extension(QuizUser) self.lesson = get_object_or_404(Lesson, pk=kwargs['id']) try: self.through = UserToQuiz.objects.get(user=self.quiz_user, quiz=self.lesson.quiz) except UserToQuiz.DoesNotExist: if self.lesson.quiz is not None: self.through = UserToQuiz(user=self.quiz_user, quiz=self.lesson.quiz) self.through.save() return super(LessonView, self).dispatch(request, *args, **kwargs)