示例#1
0
文件: views.py 项目: alhifizik/Tests
def all_questions(question_id):
    if request.method == 'GET':
        if question_id is None:
            questions = Question.query.all()
        else:
            questions = Question.query.filter_by(id=question_id).all()
        return serialize_questions(questions)

    if request.method == 'POST':
        posted_questions = json.loads(request.get_data(as_text=True))
        for question in posted_questions['questions']:
            new_question = Question(test_id=question['test_id'],
                                    text=question['text'],
                                    weight=question['weight'],
                                    multi_correct=question['multi_correct'])
            db.session.add(new_question)
            db.session.commit()
        return '201'

    if request.method == 'PUT':
        updates = json.loads(request.get_data(as_text=True))
        question = Question.query.filter_by(id=question_id).first()
        for update in updates['update']:
            if update['what'] == 'text':
                question.text = update['new']
            if update['what'] == 'weight':
                question.weight = update['new']
            if update['what'] == 'test_id':
                question.test_id = update['new']
            if update['what'] == 'multi_correct':
                question.multi_correct = update['new']
        db.session.commit()
        return '200'
示例#2
0
文件: views.py 项目: alhifizik/Tests
def test_questions(test_id):
    if request.method == 'GET':
        test = Test.query.filter_by(id=test_id).first()
        questions = test.questions
        return serialize_questions(questions)