diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-05-16 10:52:33 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-05-16 10:52:33 +0200 |
commit | afe148adc79900f50fb47b885754aa6ac8e3f985 (patch) | |
tree | 5453523e4fea89b165c754c36869ef46e703366b /ishtar_common/views_item.py | |
parent | 84f5aa42103bed9351ec9a3dc431c25f7118841a (diff) | |
download | Ishtar-afe148adc79900f50fb47b885754aa6ac8e3f985.tar.bz2 Ishtar-afe148adc79900f50fb47b885754aa6ac8e3f985.zip |
Search: optimize search count
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 2fdda5efb..31b4f7853 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -17,7 +17,8 @@ from django.contrib.staticfiles.templatetags.staticfiles import static from django.core.cache import cache from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse, NoReverseMatch -from django.db.models import Q, ImageField, Func, ExpressionWrapper, FloatField +from django.db.models import Q, Count, ImageField, Func, ExpressionWrapper, \ + FloatField from django.db.models.fields import FieldDoesNotExist from django.http import HttpResponse from django.shortcuts import render @@ -1500,8 +1501,9 @@ def get_item(model, func_name, default_name, extra_request_keys=None, items = items.distinct() + items_nb = items.values('id').aggregate(Count('id'))['id__count'] if count: - return items.count() + return items_nb # print(unicode(items.query).encode('utf-8')) if search_vector: # for serialization @@ -1638,7 +1640,6 @@ def get_item(model, func_name, default_name, extra_request_keys=None, start = 0 end = 20 - items_nb = items.count() if manual_sort_key: items = items.all() else: |