diff --git a/app/bloonsa_game/views.py b/app/bloonsa_game/views.py index 74daed5..038cea7 100644 --- a/app/bloonsa_game/views.py +++ b/app/bloonsa_game/views.py @@ -1,4 +1,4 @@ -from django.db.models import F, BooleanField, IntegerField, ExpressionWrapper, Count, Sum, DecimalField +from django.db.models import F, BooleanField, IntegerField, ExpressionWrapper, Count, Sum, DecimalField, Q from django.db.models.functions import Cast from django.shortcuts import render from django.views.generic import TemplateView @@ -48,11 +48,11 @@ class LeaderboardGlobalView(TemplateView): def get(self, request, *args, **kwargs): # Get top 100 best players players = Player.objects.annotate( - clears=Count(F("bloonsa_level_scores__clear")), - golds=Count(F("bloonsa_level_scores__dart_glitch_ever")) - ).annotate( - volforce=F("clears") + F("golds") - ).order_by("-volforce")[:10] + clears=Count("bloonsa_level_scores", filter=Q(bloonsa_level_scores__clear=True)), + golds=Count("bloonsa_level_scores", filter=Q(bloonsa_level_scores__dart_glitch_ever=True)) + ).annotate( + volforce=F("clears") + F("golds") + ).order_by("-volforce")[:10] r = render(request, "bloonsa_game/modules/leaderboard_global.html", context={