def LeaderBoard(request): from subjective.views import createobject createobject() rank = Subscore.objects.all() obj = Mcqscore.objects.all() kj=0 print(obj) if len(rank)>0: for i in rank: print("j") for j in obj: if j.usermcq == i.usersub: print(rank[kj].subscore) rank[kj].subscore += j.mcqscore print(rank[kj].subscore) kj+=1 newlist = sorted(rank, key=lambda x: x.subscore, reverse=True) elif len(obj)>0: for i in obj: print("j") for j in rank: if j.usersub == i.usermcq: #print(rank[kj].subscore) obj[kj].mcqscore += j.subscore #print(rank[kj].subscore) kj += 1 newlist = sorted(obj, key=lambda x: x.mcqscore, reverse=True) # To return a new list, use the sorted() built-in function... if (len(obj)==0 and len(rank)==0): return render(request, 'leaderboard1.html') print(newlist) return render(request,'leaderboard.html', {'newlist':newlist})
def ProgressView(request): from subjective.views import createobject createobject() curr_user = request.user marks = 0 if len(Subscore.objects.all()): try: a2 = Subscore.objects.get(user=curr_user) if a2: marks += a2.subscore except: a2 = Subscore() a2.user = request.user a2.usersub = request.user a2.subscore = 0 a2.save() marks += a2.subscore if len(Mcqscore.objects.all()): try: a1 = Mcqscore.objects.get(user=curr_user) if a1: marks += a1.mcqscore except: a1 = Mcqscore() a1.user=request.user a1.usermcq=request.user a1.mcqscore = 0 a1.save() marks += a1.mcqscore return render(request, 'progress.html', {"user": request.user, "marks":marks})