diff options
| -rw-r--r-- | ishtar_common/views_item.py | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 1a0ef61e7..d00256877 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -587,7 +587,8 @@ def _manage_hierarchic_fields(dct, and_reqs):                              q |= Q(**{r: val})                      and_reqs.append(q)                      break -                elif req.endswith(k_hr + '__pk'): +                elif req.endswith(k_hr + '__pk') \ +                        or req.endswith(k_hr + '__label__iexact'):                      val = _clean_type_val(dct.pop(req))                      if u";" in val: @@ -597,8 +598,14 @@ def _manage_hierarchic_fields(dct, and_reqs):                          values = [val]                      base_req = req[:]                      reqs = None +                    if req.endswith('pk'): +                        base_suffix = "pk" +                    elif req.endswith('label__iexact'): +                        base_suffix = "label__iexact" +                    else: +                        continue                      for val in values: -                        suffix = "pk" +                        suffix = base_suffix[:]                          req = base_req[:]                          if val.startswith(u'"') and val.startswith(u'"'): @@ -609,7 +616,7 @@ def _manage_hierarchic_fields(dct, and_reqs):                              else:                                  suffix = "label__iexact"                              val = val[1:-1] -                            req = req[:-2] + suffix +                            req = req[:-(len(base_suffix))] + suffix                          if not reqs:                              reqs = Q(**{req: val})  | 
