diff options
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 |
commit | 3102608d4dbe5ac3813fc048cb6736208e9d8238 (patch) | |
tree | a8768d9c9e53d1544ff6dfecc6930fb9d79bbb83 /ishtar_common/views_item.py | |
parent | 10d53f70c47f3f3a44131376246f4c5f957376f3 (diff) | |
download | Ishtar-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.py | 9 |
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 |