summaryrefslogtreecommitdiff
path: root/ishtar_common/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-10-12 18:27:53 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-10-12 18:27:53 +0200
commit3f684ba3a72a500223ed26c9ff48372a801cdfe1 (patch)
tree3f9017ef54a35ae4a614289651b40f419230c4ad /ishtar_common/views.py
parentfcd453c30b0fdcbd6877724d25101d0d1d5f94b8 (diff)
downloadIshtar-3f684ba3a72a500223ed26c9ff48372a801cdfe1.tar.bz2
Ishtar-3f684ba3a72a500223ed26c9ff48372a801cdfe1.zip
Search forms: manage vector searches (refs #2912)
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r--ishtar_common/views.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 997acd7df..6652ba6a9 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -41,6 +41,7 @@ from extra_views import ModelFormSetView
from django.conf import settings
from django.contrib.auth import logout
from django.contrib.auth.decorators import login_required
+from django.contrib.postgres.search import SearchQuery
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse, NoReverseMatch
from django.db.models import Q, ImageField
@@ -835,6 +836,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
reqs |= q
and_reqs.append(reqs)
break
+ if 'search_vector' in dct:
+ dct['search_vector'] = SearchQuery(
+ dct['search_vector'], config=settings.ISHTAR_SEARCH_LANGUAGE)
query = Q(**dct)
for k, or_req in or_reqs:
alt_dct = dct.copy()
@@ -908,6 +912,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
items = model.objects.filter(query).distinct()
# print(items.query)
+ if 'search_vector' in dct: # for serialization
+ dct['search_vector'] = dct['search_vector'].value
+
# table cols
if own_table_cols:
table_cols = own_table_cols