diff options
author | Prabhu Ramachandran | 2018-02-15 19:23:10 +0530 |
---|---|---|
committer | GitHub | 2018-02-15 19:23:10 +0530 |
commit | 7a89ac6dabe7d2b8d914c8efde30c65f365bd771 (patch) | |
tree | 8cad0e90ca8bda9aae11425ef6231c69ec7e5bb0 /yaksh/models.py | |
parent | 0757a779f5acb41ed52263e3c8406c24918a1e88 (diff) | |
parent | 2c53d636aa4a3f36586910e1d3ef5276a7efc337 (diff) | |
download | online_test-7a89ac6dabe7d2b8d914c8efde30c65f365bd771.tar.gz online_test-7a89ac6dabe7d2b8d914c8efde30c65f365bd771.tar.bz2 online_test-7a89ac6dabe7d2b8d914c8efde30c65f365bd771.zip |
Merge pull request #430 from maheshgudi/multiple_answerpaper
Fix multiple Answerpaper objects returned error
Diffstat (limited to 'yaksh/models.py')
-rw-r--r-- | yaksh/models.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/yaksh/models.py b/yaksh/models.py index 9a406c3..93e656a 100644 --- a/yaksh/models.py +++ b/yaksh/models.py @@ -1172,7 +1172,7 @@ class QuestionPaper(models.Model): return all_questions def make_answerpaper(self, user, ip, attempt_num, course_id): - """Creates an answer paper for the user to attempt the quiz""" + """Creates an answer paper for the user to attempt the quiz""" try: ans_paper = AnswerPaper.objects.get(user=user, attempt_number=attempt_num, @@ -1197,14 +1197,6 @@ class QuestionPaper(models.Model): ans_paper.questions_order = ",".join(question_ids) ans_paper.save() ans_paper.questions_unanswered.add(*questions) - except AnswerPaper.MultipleObjectsReturned: - ans_paper = AnswerPaper.objects.get(user=user, - attempt_number=attempt_num, - question_paper=self, - course_id=course_id - ).order_by('-id') - ans_paper = ans_paper[0] - return ans_paper def _is_attempt_allowed(self, user, course_id): @@ -1514,6 +1506,11 @@ class AnswerPaper(models.Model): objects = AnswerPaperManager() + class Meta: + unique_together = ('user', 'question_paper', + 'attempt_number', "course" + ) + def get_per_question_score(self, question_id): if question_id not in self.get_questions().values_list('id', flat=True): return 'NA' |