diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/views.py | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 42e826103..346edc0d7 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -229,7 +229,17 @@ def get_item(model, func_name, default_name, extra_request_keys=[],          or_reqs = []          for req in dct.copy():              for k_hr in HIERARCHIC_FIELDS: -                if req.endswith(k_hr + '__pk'): +                if type(req) in (list, tuple): +                    val = dct.pop(req) +                    q = None +                    for idx, r in enumerate(req): +                        if not idx: +                            q = Q(**{r:val}) +                        else: +                            q = q | Q(**{r:val}) +                    or_reqs.append(q) +                    break +                elif req.endswith(k_hr + '__pk'):                      val = dct.pop(req)                      reqs = Q(**{req:val})                      req = req[:-2] + '__' | 
