def readApi(doc_type): if doc_type == "students": data_set = Student.objects() elif doc_type == "grades": data_set = Grade.objects() elif doc_type == "courses": data_set = Course.objects() else: return render_template('404.html', title='404'), 404 return json.dumps({"aaData": MongoEngineJSONEncoder(data_set)}), 200
def index(): rez = r.get("topstudent") ti = '' data = None top_grade = [] if not rez: top_grade = list(Grade.objects().aggregate(*[{ "$group": { "_id": { "student": "$student", "course": "$course" }, "avggrade": { "$avg": "$grade" } } }, { "$sort": { "avggrade": -1 } }, { "$limit": 1 }])) if top_grade: student_db = Student.objects.get(id=top_grade[0]["_id"]["student"]) top_grade[0]["name"] = student_db.firstName top_grade[0]["lname"] = student_db.lastName course_db = Course.objects.get(id=top_grade[0]["_id"]["course"]) s = json.dumps(top_grade[0], indent=4, sort_keys=True) r.set("topstudent", s) r.expire('topstudent', 30) rez = r.get("topstudent") ti = json.dumps(MongoEngineJSONEncoder(course_db), indent=4, sort_keys=True) data = json.loads(rez) return render_template("index.html", top_student=data, loaded=ti)