diff options
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r-- | ishtar_common/views_item.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 854c91ce5..85ef5339a 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -12,7 +12,6 @@ from tempfile import NamedTemporaryFile from django.conf import settings from django.contrib.gis.geos import GEOSException -from django.contrib.postgres.search import SearchQuery from django.contrib.staticfiles.templatetags.staticfiles import static from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse, NoReverseMatch @@ -821,14 +820,22 @@ def get_item(model, func_name, default_name, extra_request_keys=[], (hasattr(field, 'rel') and field.rel and '__pk' or '')) for field in associated_fields])) request_keys.update(my_extra_request_keys) - request_items = request.method == 'POST' and request.POST \ - or request.GET + + if "query" in dct: + request_items = dct["query"] + elif request.method == 'POST': + request_items = request.POST + else: + request_items = request.GET + + count = dct.get('count', False) # pager try: row_nb = int(request_items.get('length')) except (ValueError, TypeError): row_nb = DEFAULT_ROW_NUMBER + dct_request_items = {} # filter requested fields @@ -839,6 +846,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], if key.startswith('searchprefix_'): key = key[len('searchprefix_'):] dct_request_items[key] = request_items[k] + request_items = dct_request_items dct = my_base_request @@ -985,6 +993,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[], items = items.extra(**extra) items = items.distinct() + + if count: + return items.count() # print(items.query) if search_vector: # for serialization |