summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Chen <chagel@gmail.com>2009-08-14 00:01:51 +0800
committerMike Chen <chagel@gmail.com>2009-08-14 00:01:51 +0800
commitc928d679ca8513a0d5a64bcd2831fd85bb396bb9 (patch)
treede4b20ace6b067adb00ed2afbc25a721c232fd57
parent42a226eac8e9c4b06c1c25b6d813d0eb342bc0d0 (diff)
downloadaskbot-c928d679ca8513a0d5a64bcd2831fd85bb396bb9.tar.gz
askbot-c928d679ca8513a0d5a64bcd2831fd85bb396bb9.tar.bz2
askbot-c928d679ca8513a0d5a64bcd2831fd85bb396bb9.zip
temporary fix for 1.1 aggregation compatible issue
-rw-r--r--forum/views.py30
-rw-r--r--settings.py7
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