summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-01-10 15:46:26 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2020-01-10 15:46:26 +0100
commit3102608d4dbe5ac3813fc048cb6736208e9d8238 (patch)
treea8768d9c9e53d1544ff6dfecc6930fb9d79bbb83 /ishtar_common/views_item.py
parent10d53f70c47f3f3a44131376246f4c5f957376f3 (diff)
downloadIshtar-3102608d4dbe5ac3813fc048cb6736208e9d8238.tar.bz2
Ishtar-3102608d4dbe5ac3813fc048cb6736208e9d8238.zip
Search: bad hierarchy check
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 88cd70b43..431135e37 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -816,18 +816,13 @@ def _manage_hierarchic_fields(dct, and_reqs):
if val.startswith('"') and val.endswith('"'):
val = val[1:-1]
reqs = Q(**{req: val})
- base_req = req[:]
for idx in range(HIERARCHIC_LEVELS):
req = req[:-(len(suffix))] + 'parent__' + suffix
q = Q(**{req: val})
reqs |= q
- req = base_req[:]
- for idx in range(HIERARCHIC_LEVELS):
- req = req[:-(len(suffix))] + 'children__' + suffix
- q = Q(**{req: val})
- reqs |= q
and_reqs.append(reqs)
+ # TODO: improve query with "IN ()"?
continue
if req.endswith('town__pk') or req.endswith('towns__pk') \
@@ -855,6 +850,7 @@ def _manage_hierarchic_fields(dct, and_reqs):
q = Q(**{req: val})
reqs |= q
and_reqs.append(reqs)
+ # TODO: improve query with "IN ()"?
continue
for k_hr in HIERARCHIC_FIELDS:
@@ -908,6 +904,7 @@ def _manage_hierarchic_fields(dct, and_reqs):
req = req[:-(len(suffix))] + 'parent__' + suffix
q = Q(**{req: val})
reqs |= q
+ # TODO: improve query with "IN ()"?
if reqs:
and_reqs.append(reqs)
break