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 | e05e82882bfd73b401e732b20ea8dc045ba6da24 (patch) | |
tree | 5453523e4fea89b165c754c36869ef46e703366b /ishtar_common/views_item.py | |
parent | fc3d058bafe6fd844bf6cb1d0f874fbac56f9b17 (diff) | |
download | Ishtar-e05e82882bfd73b401e732b20ea8dc045ba6da24.tar.bz2 Ishtar-e05e82882bfd73b401e732b20ea8dc045ba6da24.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: |