optimize filter queries
authorymh <ymh.work@gmail.com>
Fri, 02 Mar 2012 23:25:56 +0100
changeset 134 75f8f05f9a60
parent 133 e821a1ae9773
child 135 dd6578e36a57
optimize filter queries upgrade Django
virtualenv/res/lib/lib_create_env.py
virtualenv/res/src/Django-1.3.1.tar.gz
virtualenv/res/src/Django-1.4b1.tar.gz
web/hdalab/views/ajax.py
--- a/virtualenv/res/lib/lib_create_env.py	Fri Mar 02 10:48:26 2012 +0100
+++ b/virtualenv/res/lib/lib_create_env.py	Fri Mar 02 23:25:56 2012 +0100
@@ -15,7 +15,7 @@
 URLS = {
     #'': {'setup': '', 'url':'', 'local':''},
     'DISTRIBUTE': {'setup': 'distribute', 'url':'http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz', 'local':"distribute-0.6.14.tar.gz"},
-    'DJANGO': {'setup': 'django', 'url': 'http://www.djangoproject.com/download/1.3.1/tarball/', 'local':"Django-1.3.1.tar.gz"},
+    'DJANGO': {'setup': 'django', 'url': 'http://www.djangoproject.com/download/1.4b1/tarball/', 'local':"Django-1.4b1.tar.gz"},
     'DJANGO-EXTENSIONS': { 'setup': 'django-extensions', 'url':'https://github.com/django-extensions/django-extensions/tarball/0.6', 'local':"django-extensions-0.6.tar.gz"},
     'SOUTH': { 'setup': 'South', 'url':'http://www.aeracode.org/releases/south/south-0.7.3.tar.gz', 'local':"south-0.7.3.tar.gz"},
     'HTTPLIB2': { 'setup': 'python-httplib2', 'url':'http://httplib2.googlecode.com/files/httplib2-0.6.0.tar.gz', 'local':"httplib2-0.6.0.tar.gz"},
Binary file virtualenv/res/src/Django-1.3.1.tar.gz has changed
Binary file virtualenv/res/src/Django-1.4b1.tar.gz has changed
--- a/web/hdalab/views/ajax.py	Fri Mar 02 10:48:26 2012 +0100
+++ b/web/hdalab/views/ajax.py	Fri Mar 02 23:25:56 2012 +0100
@@ -170,7 +170,15 @@
     else:
         contenus = contenus.values()
 
-    tagqs = tagqs.annotate(nb=Count('datasheet')).order_by('-nb')[:tag_count]
+    #tagqs = tagqs.annotate(nb=Count('datasheet')).order_by('-nb')[:tag_count]
+    tagqs = tagqs.annotate(nb=Count('datasheet')).order_by('-nb').only('id','label')[:tag_count]
+    # hack to add only necessary fileds in the group by
+    # contournement bug https://code.djangoproject.com/ticket/17144
+    tagqs.query.clear_select_fields()
+    tagqs.query.add_fields(['id','label'], False)
+    tagqs.query.set_group_by()
+
+    #hack : django bug
 
     tags = [{'id': tag.id, 'label': tag.label, 'score': tag.nb} for tag in tagqs]