From c928d679ca8513a0d5a64bcd2831fd85bb396bb9 Mon Sep 17 00:00:00 2001 From: Mike Chen Date: Fri, 14 Aug 2009 00:01:51 +0800 Subject: temporary fix for 1.1 aggregation compatible issue --- forum/views.py | 30 +++++++++++++++++++++--------- settings.py | 7 ++++--- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/forum/views.py b/forum/views.py index 6ef7bd6d..e47b9111 100644 --- a/forum/views.py +++ b/forum/views.py @@ -1125,15 +1125,27 @@ def user_stats(request, user_id, user_view): votes_today = Vote.objects.get_votes_count_today_from_user(user) votes_total = VOTE_RULES['scope_votes_per_user_per_day'] tags = user.created_tags.all().order_by('-used_count')[:50] - awards = Award.objects.extra( - select={'id': 'badge.id', 'count': 'count(badge_id)', 'name':'badge.name', 'description': 'badge.description', 'type': 'badge.type'}, - tables=['award', 'badge'], - order_by=['-awarded_at'], - where=['user_id=%s AND badge_id=badge.id'], - params=[user.id] - ).values('id', 'count', 'name', 'description', 'type') - total_awards = awards.count() - awards.query.group_by = ['badge_id'] + if settings.DJANGO_VERSION < 1.1: + awards = Award.objects.extra( + select={'id': 'badge.id', 'count': 'count(badge_id)', 'name':'badge.name', 'description': 'badge.description', 'type': 'badge.type'}, + tables=['award', 'badge'], + order_by=['-awarded_at'], + where=['user_id=%s AND badge_id=badge.id'], + params=[user.id] + ).values('id', 'count', 'name', 'description', 'type') + total_awards = awards.count() + awards.query.group_by = ['badge_id'] + else: + awards = Award.objects.extra( + select={'id': 'badge.id', 'name':'badge.name', 'description': 'badge.description', 'type': 'badge.type'}, + tables=['award', 'badge'], + order_by=['-awarded_at'], + where=['user_id=%s AND badge_id=badge.id'], + params=[user.id] + ).values('id', 'name', 'description', 'type') + total_awards = awards.count() + from django.db.models import Count + awards = awards.annotate(count = Count('badge__id')) return render_to_response(user_view.template_file,{ "tab_name" : user_view.id, diff --git a/settings.py b/settings.py index ce8c9d89..aa991898 100644 --- a/settings.py +++ b/settings.py @@ -37,7 +37,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.transaction.TransactionMiddleware', #'django.middleware.sqlprint.SqlPrintingMiddleware', #'middleware.pagesize.QuestionsPageSizeMiddleware', - #'debug_toolbar.middleware.DebugToolbarMiddleware', + 'debug_toolbar.middleware.DebugToolbarMiddleware', ) TEMPLATE_CONTEXT_PROCESSORS = ( @@ -73,8 +73,9 @@ INSTALLED_APPS = ( 'django.contrib.humanize', 'forum', 'django_authopenid', - #'debug_toolbar' , + 'debug_toolbar' , ) - +import django +DJANGO_VERSION = django.get_version() # User settings from settings_local import * \ No newline at end of file -- cgit v1.2.3-1-g7c22