diff options
-rw-r--r-- | ishtar/ishtar_base/views.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/ishtar/ishtar_base/views.py b/ishtar/ishtar_base/views.py index e0a96063c..3bc21880a 100644 --- a/ishtar/ishtar_base/views.py +++ b/ishtar/ishtar_base/views.py @@ -159,7 +159,7 @@ def format_val(val): return unicode(val) HIERARCHIC_LEVELS = 5 -HIERARCHIC_FIELDS = ['period', 'unit', 'material'] +HIERARCHIC_FIELDS = ['period', 'unit', 'material_type'] PRIVATE_FIELDS = ('id', 'history_modifier', 'order') def get_item(model, func_name, default_name, extra_request_keys=[], base_request={}, bool_fields=[]): @@ -204,10 +204,8 @@ def get_item(model, func_name, default_name, extra_request_keys=[], dct[k] = dct[k] == u"2" and True or False # manage hierarchic conditions or_reqs = [] - for k_hr in HIERARCHIC_FIELDS: - if k_hr not in dct: - continue - for req in dct.copy(): + for req in dct.copy(): + for k_hr in HIERARCHIC_FIELDS: if req.endswith(k_hr + '__pk'): val = dct.pop(req) reqs = Q(**{req:val}) @@ -217,6 +215,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], q = Q(**{req:val}) reqs = reqs | q or_reqs.append(reqs) + break query = Q(**dct) for or_req in or_reqs: query = query & or_req |