summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index abe7fa11b..479a40419 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -791,7 +791,7 @@ def _manage_bool_fields(model, bool_fields, reversed_bool_fields, dct, or_reqs):
for k in bool_fields:
if k not in dct:
continue
- elif dct[k] == "1":
+ elif dct[k] == "1" or dct[k] == "unknown":
dct.pop(k)
continue
dct[k] = dct[k].replace('"', "")
@@ -828,7 +828,7 @@ def _manage_many_counted_fields(fields, reversed_fields, dct, excluded_dct):
for k in bool_fields:
if k not in dct:
continue
- elif dct[k] == "1":
+ elif dct[k] == "1" or dct[k] == "unknown":
dct.pop(k)
continue
dct[k] = dct[k].replace('"', "")
@@ -1031,12 +1031,10 @@ def _manage_hierarchic_fields(model, dct, and_reqs):
for k_hr in hierarchic_fields:
lbl_name = "label"
- try:
+ if hasattr(model, k_hr):
rel = getattr(model, k_hr).field.related_model
if not hasattr(rel, "label") and hasattr(rel, "cached_label"):
lbl_name = "cached_label"
- except:
- pass
if type(req) in (list, tuple):
val = dct.pop(req)
val = _clean_type_val(val)
@@ -1667,7 +1665,8 @@ def get_item(
[
(
field.name,
- field.name + (hasattr(field, "rel") and field.rel and "__pk" or ""),
+ field.name + (hasattr(field, "remote_field")
+ and field.remote_field and "__pk" or ""),
)
for field in fields
]