def top_ten(): scores = Score._get_collection().aggregate([{ "$group": {"_id": "$user", "value": {"$max": "$value"}} }, {"$sort": {"value": -1}} ]) res = [] for score in scores['result']: # print score['_id'] res.append({ "username": User.objects.get(id=score['_id']).username, "value": score['value'] }) return res