更新总排名计算方式
This commit is contained in:
parent
a13c3fd55e
commit
8c99202755
|
@ -21,7 +21,7 @@ from django.contrib.auth.hashers import check_password, make_password
|
||||||
from django.contrib.sessions.models import Session
|
from django.contrib.sessions.models import Session
|
||||||
from django.core import serializers
|
from django.core import serializers
|
||||||
from django.core.serializers.json import DjangoJSONEncoder
|
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.forms.models import model_to_dict
|
||||||
from django.http import (HttpResponse, HttpResponseRedirect, JsonResponse,
|
from django.http import (HttpResponse, HttpResponseRedirect, JsonResponse,
|
||||||
request)
|
request)
|
||||||
|
@ -6710,7 +6710,11 @@ def apiexamtestrate(req):
|
||||||
companyid = req.GET.get('companyid')
|
companyid = req.GET.get('companyid')
|
||||||
alltest = ExamTest.objects.filter(usecomps__contains=','+str(companyid)+',').exclude(nousecomps__contains=','+str(companyid)+',')
|
alltest = ExamTest.objects.filter(usecomps__contains=','+str(companyid)+',').exclude(nousecomps__contains=','+str(companyid)+',')
|
||||||
allexamtestdetail = ExamTestDetail.objects.filter(examtest__in=alltest,testnum__gte=1)
|
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()
|
total = objs.count()
|
||||||
objslist = list(objs)
|
objslist = list(objs)
|
||||||
for i in objslist:
|
for i in objslist:
|
||||||
|
|
Loading…
Reference in New Issue