diff options
Diffstat (limited to 'ishtar_common/utils.py')
-rw-r--r-- | ishtar_common/utils.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 948604c16..5a03f7f5f 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -396,3 +396,19 @@ def get_session_var(session_key, key): if key not in session: return return session[key] + + +def get_field_labels_from_path(model, path): + """ + :param model: base model + :param path: list of attribute starting from the base model + :return: list of labels + """ + labels = [] + for key in path: + field = model._meta.get_field(key) + if hasattr(field, 'verbose_name'): + labels.append(field.verbose_name) + if field.one_to_many or field.one_to_one or field.many_to_many: + model = field.model + return labels |