summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-12-07 17:27:05 -0500
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2010-12-07 17:27:05 -0500
commitd6d18e9868104259bb57b2bce158bdaf510ae530 (patch)
tree4972c14c1a4b8ed67e9c6d5438fae04d0678a2ab
parent3f7fc3d94cb208c4ce5abda856ca8a18bd52c26b (diff)
downloadaskbot-d6d18e9868104259bb57b2bce158bdaf510ae530.tar.gz
askbot-d6d18e9868104259bb57b2bce158bdaf510ae530.tar.bz2
askbot-d6d18e9868104259bb57b2bce158bdaf510ae530.zip
one more try on the badge query
-rw-r--r--askbot/views/meta.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/askbot/views/meta.py b/askbot/views/meta.py
index 72d479c6..e77d23e5 100644
--- a/askbot/views/meta.py
+++ b/askbot/views/meta.py
@@ -10,6 +10,7 @@ from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from django.views import static
+from django.db.models import Max, Count
from askbot.forms import FeedbackForm
from askbot.utils.forms import get_next_url
from askbot.utils.mail import mail_moderators
@@ -118,9 +119,12 @@ def badge(request, id):
badge = get_object_or_404(BadgeData, id=id)
badge_recipients = User.objects.filter(
award_user__badge = badge
+ ).annotate(
+ last_awarded_at = Max('award_user__awarded_at'),
+ award_count = Count('award_user')
).order_by(
- '-award_user__awarded_at'
- ).distinct()
+ '-last_awarded_at'
+ )
template = ENV.get_template('badge.html')
data = {