diff --git a/app/api/serializers/common.py b/app/api/serializers/common.py index d1334b2c..0c6d5c42 100644 --- a/app/api/serializers/common.py +++ b/app/api/serializers/common.py @@ -63,7 +63,7 @@ class CommonModelSerializer(CommonBaseSerializer): } kb_model_name = self.Meta.model._meta.model_name - if getattr(item, 'kb_model_name'): + if getattr(item, 'kb_model_name', None): kb_model_name = item.kb_model_name @@ -80,26 +80,31 @@ class CommonModelSerializer(CommonBaseSerializer): if getattr(self.Meta.model, 'save_model_history', True): history_app_label = self.Meta.model._meta.app_label - if getattr(item, 'history_app_label'): + if getattr(item, 'history_app_label', None): history_app_label = item.history_app_label history_model_name = self.Meta.model._meta.model_name - if getattr(item, 'history_model_name'): + if getattr(item, 'history_model_name', None): history_model_name = item.history_model_name - get_url['history'] = reverse( - "v2:_api_v2_model_history-list", - request = self._context['view'].request, - kwargs = { - 'app_label': history_app_label, - 'model_name': history_model_name, - 'model_id': item.pk - } - ) + if( + history_app_label is not None + and history_model_name is not None + ): + + get_url['history'] = reverse( + "v2:_api_v2_model_history-list", + request = self._context['view'].request, + kwargs = { + 'app_label': history_app_label, + 'model_name': history_model_name, + 'model_id': item.pk + } + ) obj = getattr(item, 'get_url_kwargs_notes', None) @@ -121,7 +126,7 @@ class CommonModelSerializer(CommonBaseSerializer): note_basename = app_namespace + '_api_v2_' + str(item._meta.verbose_name).lower().replace(' ', '_') + '_note' - if getattr(item, 'note_basename'): + if getattr(item, 'note_basename', None): note_basename = app_namespace + item.note_basename @@ -129,10 +134,12 @@ class CommonModelSerializer(CommonBaseSerializer): note_basename = self.Meta.note_basename - get_url['notes'] = reverse( - "v2:" + note_basename + "-list", - request = self._context['view'].request, - kwargs = item.get_url_kwargs_notes() - ) + if getattr(item, 'get_url_kwargs_notes', None): + + get_url['notes'] = reverse( + "v2:" + note_basename + "-list", + request = self._context['view'].request, + kwargs = item.get_url_kwargs_notes() + ) return get_url