From edc7aedbe03c59007358a3e5e48018e201db5c5c Mon Sep 17 00:00:00 2001 From: Jon Date: Thu, 15 May 2025 22:34:12 +0930 Subject: [PATCH] fix(api): Dont try to access attribute if not exist in common viewset ref: #761 --- .../tests/unit/entity/test_unit_entity_model.py | 3 --- app/api/viewsets/common.py | 12 +++++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/app/access/tests/unit/entity/test_unit_entity_model.py b/app/access/tests/unit/entity/test_unit_entity_model.py index acf45745..fb7290bf 100644 --- a/app/access/tests/unit/entity/test_unit_entity_model.py +++ b/app/access/tests/unit/entity/test_unit_entity_model.py @@ -87,9 +87,6 @@ class EntityModelTestCases( yield - with django_db_blocker.unblock(): - - del request.cls.kwargs_create_item @pytest.fixture( scope = 'class', autouse = True) diff --git a/app/api/viewsets/common.py b/app/api/viewsets/common.py index 29c2435e..03edde97 100644 --- a/app/api/viewsets/common.py +++ b/app/api/viewsets/common.py @@ -839,17 +839,19 @@ class SubModelViewSet( is_nested_lookup = True - if( + + if not hasattr(related_model, '_meta'): + + related_model = None + + elif( str( - getattr(related_model, '._meta.sub_model_type', '') + getattr(related_model._meta, 'sub_model_type', '') ).lower().replace(' ', '_') == model_kwarg ): break - else: - - related_model = None if related_model is None and not is_nested_lookup: