示例#1
0
def get_answer_by_id(answer_id):
    try:
        answer = Answer.get_query(
            filter_condition=(Answer.id == answer_id))
        return jsonify(
            data=SerializableModelMixin.serialize_row(answer.one())
        ), 200

    except:
        return jsonify(
            userMessage="해당 답안을 찾을 수 없습니다."
        ), 404
示例#2
0
def get_answers():
    if request.args.get('userId') is not None:
        user_id = int(request.args.get('userId'))
    else:
        user_id = 0

    if request.args.get('homeworkId'):
        homework_id = int(request.args.get('homeworkId'))
        problems = db.session.query(Problem).filter(Problem.homework_id == homework_id).order_by(Problem.id)
    else:
        homework_id = 0
        problems = db.session.query(Problem).order_by(Problem.id)

    if user_id >= 1 and homework_id >= 1:
        filter_condition = (Answer.user_id == user_id, Problem.homework_id == homework_id)

    elif user_id >= 1 >= homework_id:
        filter_condition = (Answer.user_id == user_id)
    elif homework_id >= 1 >= user_id:
        filter_condition = (Problem.homework_id == homework_id)
    else:
        filter_condition = None

    answers = Answer.get_query(filter_condition=filter_condition).order_by(Answer.user_id, Answer.problem_id)

    prev_user_id = None
    return_object = {}
    for row in answers:
        print "a"
        (answer, user, problem, homework) = row
        if prev_user_id != user.id:
            return_object[user.name] = []
            prev_user_id = user.id
            print "b"
        return_object[user.name].append(SerializableModelMixin.serialize_row(row))

    # 문제 목록 쫙 호출하기
    return_object['problems'] = map(lambda x: x.serialize(), problems)

    return jsonify(
        # data=map(SerializableModelMixin.serialize_row, answer)
        data=return_object
    ), 200