diff --git a/safesite/views.py b/safesite/views.py index 25d5db0f..41a6670f 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -21,7 +21,7 @@ from django.contrib.auth.hashers import check_password, make_password from django.contrib.sessions.models import Session from django.core import serializers from django.core.serializers.json import DjangoJSONEncoder -from django.db.models import Avg, Count, F, Q, Sum +from django.db.models import Avg, Count, F, Q, Sum, Max from django.forms.models import model_to_dict from django.http import (HttpResponse, HttpResponseRedirect, JsonResponse, request) @@ -6710,7 +6710,11 @@ def apiexamtestrate(req): companyid = req.GET.get('companyid') alltest = ExamTest.objects.filter(usecomps__contains=','+str(companyid)+',').exclude(nousecomps__contains=','+str(companyid)+',') allexamtestdetail = ExamTestDetail.objects.filter(examtest__in=alltest,testnum__gte=1) - objs = allexamtestdetail.values('user__userid','user__name','user__headimgurl','user__ubelongpart__partname').annotate(totalscore=Sum('score'),totaltook=Sum('took'),testnum=Count('user__userid')).order_by('-totalscore','totaltook') + objs = allexamtestdetail.values('user__userid','user__name','user__headimgurl','user__ubelongpart__partname').annotate(totalscore=Sum('score'),totaltook=Sum('took'),testnum=Count('user__userid'), maxscore = Max('score')) + # if req.GET.get('type', None) == 'max': + objs = objs.order_by('-maxscore','testnum', '-totalscore') + # else: + # objs = objs.order_by('-totalscore','totaltook') total = objs.count() objslist = list(objs) for i in objslist: