diff --git a/circle.yml b/circle.yml index a3a83ded..fcb45e23 100644 --- a/circle.yml +++ b/circle.yml @@ -11,7 +11,7 @@ dependencies: - "pip install -r requirements.txt" - "pip install -r $VIRTUAL_ENV/src/xblock-sdk/requirements/base.txt" - "pip install -r $VIRTUAL_ENV/src/xblock-sdk/requirements/test.txt" - - "pip uninstall -y xblock-problem-builder && python setup.py sdist && pip install dist/xblock-problem-builder-2.6.4.tar.gz" + - "pip uninstall -y xblock-problem-builder && python setup.py sdist && pip install dist/xblock-problem-builder-2.6.5.tar.gz" - "pip install -r test_requirements.txt" - "mkdir var" test: diff --git a/problem_builder/answer.py b/problem_builder/answer.py index 4a34c465..5dfd11af 100644 --- a/problem_builder/answer.py +++ b/problem_builder/answer.py @@ -25,6 +25,7 @@ from django.core.exceptions import ValidationError from django.db import IntegrityError +from django.db.models import Q from django.utils.crypto import get_random_string from .models import Answer @@ -70,16 +71,11 @@ def _get_student_id(self): @staticmethod def _fetch_model_object(name, student_id, course_id): - sql_query = '''SELECT * FROM problem_builder_answer - WHERE name = %s - AND student_id = %s - AND (course_key = %s - OR course_id = %s)''' - params = [name, student_id, course_id, course_id] - try: - answer = Answer.objects.raw(sql_query, params)[0] - except IndexError: - raise Answer.DoesNotExist() + answer = Answer.objects.get( + Q(name=name), + Q(student_id=student_id), + Q(course_key=course_id) | Q(course_id=course_id) + ) if not answer.course_key: answer.course_key = answer.course_id return answer diff --git a/setup.py b/setup.py index 4a1b87cf..9a28012e 100644 --- a/setup.py +++ b/setup.py @@ -71,7 +71,7 @@ def package_data(pkg, root_list): setup( name='xblock-problem-builder', - version='2.6.4', + version='2.6.5', description='XBlock - Problem Builder', packages=['problem_builder', 'problem_builder.v1'], install_requires=[