def post(self, request, grade_id, skill_id, format=None): skills = Skill.objects.filter(grade__id=grade_id) skill = skills.get(id_in_grade=skill_id) exercise = Exercise.objects.get(skill=skill, id=request.data.get('id')) serializer = ExerciseAnswerSerializer(exercise, data=request.data) if serializer.is_valid(): # Save exercise record record = ExerciseRecord(exercise=exercise, user=request.user.profile) string_answer = request.data.get('answer') list_answer = string_answer.split('|') if self.check_correct_answer(request, exercise): record.score = 10 record.save() for _answer in list_answer: user_answer = UserAnswerRecord(exercise_record=record, answer=_answer) user_answer.save() return Response(True) else: record.score = 0 record.save() for _answer in list_answer: user_answer = UserAnswerRecord(exercise_record=record, answer=_answer) user_answer.save() return Response(False) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, grade_id, skill_id, format=None): skills = Skill.objects.filter(grade__id=grade_id) skill = skills.get(id_in_grade=skill_id) exercise = Exercise.objects.get(skill=skill, id=request.data.get('id')) serializer = ExerciseAnswerSerializer(exercise, data=request.data) if serializer.is_valid(): # Save exercise record record = ExerciseRecord( exercise=exercise, user=request.user.profile ) string_answer = request.data.get('answer') list_answer = string_answer.split('|') if self.check_correct_answer(request, exercise): record.score = 10 record.save() for _answer in list_answer: user_answer = UserAnswerRecord( exercise_record=record, answer=_answer ) user_answer.save() return Response(True) else: record.score = 0 record.save() for _answer in list_answer: user_answer = UserAnswerRecord( exercise_record=record, answer=_answer ) user_answer.save() return Response(False) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)