summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py17
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