diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index dbbebae84..176559934 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -126,6 +126,8 @@ class ValueGetter(object): GET_VALUES_EXCLUDE_FIELDS = [ 'search_vector', 'id', 'multi_polygon', 'point_2d', 'point', 'history_m2m'] + GET_VALUES_ = [ + 'preservation_to_considers', 'alterations', 'alteration_causes'] GET_VALUES_EXTRA_TYPES = [ 'preservation_to_considers', 'alterations', 'alteration_causes'] @@ -153,11 +155,15 @@ class ValueGetter(object): if not hasattr(self, field_name) or \ field_name in self.GET_VALUES_EXCLUDE_FIELDS: continue - value = getattr(self, field_name) - if hasattr(value, 'get_values'): - values.update(value.get_values(prefix + field_name + '_')) + if hasattr(self, "get_values_for_" + field_name): + values[prefix + field_name] = getattr( + self, "get_values_for_" + field_name)() else: - values[prefix + field_name] = value + value = getattr(self, field_name) + if hasattr(value, 'get_values'): + values.update(value.get_values(prefix + field_name + '_')) + else: + values[prefix + field_name] = value values.update(self._get_values_documents(prefix=prefix)) for extra_field in self.GET_VALUES_EXTRA: values[prefix + extra_field] = getattr(self, extra_field) or '' |