summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commitafe148adc79900f50fb47b885754aa6ac8e3f985 (patch)
tree5453523e4fea89b165c754c36869ef46e703366b
parent84f5aa42103bed9351ec9a3dc431c25f7118841a (diff)
downloadIshtar-afe148adc79900f50fb47b885754aa6ac8e3f985.tar.bz2
Ishtar-afe148adc79900f50fb47b885754aa6ac8e3f985.zip
Search: optimize search count
-rw-r--r--ishtar_common/views_item.py7
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: