diff --git a/netbox/netbox/tests/dummy_plugin/models.py b/netbox/netbox/tests/dummy_plugin/models.py index 9bd39a46b..ade46f768 100644 --- a/netbox/netbox/tests/dummy_plugin/models.py +++ b/netbox/netbox/tests/dummy_plugin/models.py @@ -8,6 +8,7 @@ class DummyModel(models.Model): number = models.IntegerField( default=100 ) + serializer_label = 'netbox.tests.dummy_plugin' class Meta: ordering = ['name'] diff --git a/netbox/utilities/api.py b/netbox/utilities/api.py index 11b914811..3cedfc4a3 100644 --- a/netbox/utilities/api.py +++ b/netbox/utilities/api.py @@ -30,7 +30,12 @@ def get_serializer_for_model(model, prefix=''): """ Return the appropriate REST API serializer for the given model. """ - app_label, model_name = model._meta.label.split('.') + if hasattr(model, 'serializer_label'): + app_label = model.serializer_label + model_name = model._meta.label.split('.')[1] + else: + app_label, model_name = model._meta.label.split('.') + serializer_name = f'{app_label}.api.serializers.{prefix}{model_name}Serializer' try: return import_string(serializer_name)