diff --git a/netbox/utilities/api.py b/netbox/utilities/api.py index 50bb033e481..b53edf53ae0 100644 --- a/netbox/utilities/api.py +++ b/netbox/utilities/api.py @@ -27,6 +27,13 @@ def get_serializer_for_model(model, prefix=''): # Serializers for Django's auth models are in the users app if app_name == 'auth': app_name = 'users' + # Account for changes using Proxy model + if app_name == 'users': + if model_name == 'NetBoxUser': + model_name = 'User' + elif model_name == 'NetBoxGroup': + model_name = 'Group' + serializer_name = f'{app_name}.api.serializers.{prefix}{model_name}Serializer' try: return dynamic_import(serializer_name) diff --git a/netbox/utilities/utils.py b/netbox/utilities/utils.py index f3f8c7c5042..05597b80c9b 100644 --- a/netbox/utilities/utils.py +++ b/netbox/utilities/utils.py @@ -52,6 +52,8 @@ def get_viewname(model, action=None, rest_api=False): # Alter the app_label for group and user model_name to point to users app if app_label == 'auth' and model_name in ['group', 'user']: app_label = 'users' + if app_label == 'users' and model._meta.proxy and model_name in ['netboxuser', 'netboxgroup']: + model_name = model._meta.proxy_for_model._meta.model_name viewname = f'{app_label}-api:{model_name}' # Append the action, if any