diff options
| 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 | 
| commit | 3f684ba3a72a500223ed26c9ff48372a801cdfe1 (patch) | |
| tree | 3f9017ef54a35ae4a614289651b40f419230c4ad /ishtar_common/views.py | |
| parent | fcd453c30b0fdcbd6877724d25101d0d1d5f94b8 (diff) | |
| download | Ishtar-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.py | 7 | 
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 | 
