def get_rated_students_for_class(form_id: bson.ObjectId, count) -> List[Student]: my_class = Form.objects(id=form_id).first() students = Student.objects( id__in=my_class.Student_ids).all().order_by("-" + "avg_score").limit(count) return list(students)
def add_score(stud_id, score, subject) -> Score: student = Student.objects(id=stud_id).first() mscore = Score() mscore.name = subject mscore.score = score mscore.save() student.scores_ids.append(mscore.id) student.save()
def update_aver_score_student(stud_id) -> Student: Student.objects(id=stud_id).update( avg_score=get_average_score_for_student(stud_id))
def add_district(stud_id) -> Student: Student.objects(id=stud_id).update(district=generator.generate_distr())
def get_average_score_for_form(form_id: bson.ObjectId): my_form = Form.objects(id=form_id).first() avg = Student.objects(id__in=my_form.Student_ids).average('avg_score') return avg
def get_average_score_for_student(student_id: bson.ObjectId): my_student = Student.objects(id=student_id).first() avg = Score.objects(id__in=my_student.scores_ids).average('score') return avg
def get_scores_for_student(student_id: bson.ObjectId) -> List[Score]: my_student = Student.objects(id=student_id).first() scores = Score.objects(id__in=my_student.scores_ids).all() return list(scores)
def get_students_for_class(class_id: bson.ObjectId) -> List[Student]: my_class = Form.objects(id=class_id).first() students = Student.objects(id__in=my_class.Student_ids).all() return list(students)