From bf9de4721eff53e96d8335b57d4bdd0283486cef Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 15 Apr 2026 13:36:33 -0400 Subject: [PATCH] Closes #20881: `get_filterset_for_model()` should reference application registry (#21922) --- netbox/netbox/tests/test_base_classes.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/netbox/netbox/tests/test_base_classes.py b/netbox/netbox/tests/test_base_classes.py index 012dede69..5fad1ccd5 100644 --- a/netbox/netbox/tests/test_base_classes.py +++ b/netbox/netbox/tests/test_base_classes.py @@ -45,6 +45,7 @@ from netbox.graphql.types import ( PrimaryObjectType, ) from netbox.models import NestedGroupModel, NetBoxModel, OrganizationalModel, PrimaryModel +from netbox.registry import registry from netbox.tables import ( NestedGroupModelTable, NetBoxTable, @@ -174,11 +175,10 @@ class FilterSetClassesTestCase(TestCase): @staticmethod def get_filterset_for_model(model): """ - Import and return the filterset class for a given model. + Return the filterset class for a given model from the application registry. """ - app_label = model._meta.app_label - model_name = model.__name__ - return import_string(f'{app_label}.filtersets.{model_name}FilterSet') + label = f'{model._meta.app_label}.{model._meta.model_name}' + return registry['filtersets'].get(label) @staticmethod def get_model_filterset_base_class(model): @@ -204,6 +204,7 @@ class FilterSetClassesTestCase(TestCase): for model in apps.get_models(): if base_class := self.get_model_filterset_base_class(model): filterset = self.get_filterset_for_model(model) + self.assertIsNotNone(filterset, f"No registered filterset found for model {model}") self.assertTrue( issubclass(filterset, base_class), f"{filterset} does not inherit from {base_class}",