def get_exercise_grade_counts(exercise_id):
responses = db.session.query(Response.id,
func.count(func.distinct(ResponseGrade.score)),
func.count(func.distinct(
ResponseGrade.misconception)),
func.count(func.distinct(ResponseGrade.junk)),
func.count(
func.coalesce(ResponseGrade.id, None))) \
.outerjoin(ResponseGrade) \
.filter(Response.exercise_id == exercise_id) \
.group_by(Response.id).all()
for response in responses:
yield response
评论列表
文章目录