From 53a4f63094e903f89bed84b90c5c69af1f7e5d2f Mon Sep 17 00:00:00 2001 From: Dusty Phillips Date: Tue, 7 Oct 2008 11:17:48 -0400 Subject: optimize get_flag_stats --- main/models.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/main/models.py b/main/models.py index f8f8699..e7566c3 100644 --- a/main/models.py +++ b/main/models.py @@ -52,19 +52,18 @@ class PackageManager(models.Manager): def get_flag_stats(self): results = [] # first the orphans - noflag = self.filter(maintainer=0).count() - flagged = self.filter(maintainer=0).filter( + noflag = self.filter(maintainer=0) + flagged = noflag.filter( needupdate=True).exclude( - repo__name__iexact='testing').count() + repo__name__iexact='testing') results.append( - (User(id=0,first_name='Orphans'), noflag, flagged)) + (User(id=0,first_name='Orphans'), noflag.count(), flagged.count())) # now the rest for maint in User.objects.all().order_by('first_name'): - noflag = self.filter(maintainer=maint.id).count() - flagged = self.filter(maintainer=maint.id).filter( - needupdate=True).exclude( - repo__name__iexact='testing').count() - results.append((maint, noflag, flagged)) + noflag = self.filter(maintainer=maint.id) + flagged = noflag.filter(needupdate=True).exclude( + repo__name__iexact='testing') + results.append((maint, noflag.count(), flagged.count())) return results -- cgit v1.2.3-24-g4f1b