From 101b9d8295233a4b3e2fc70b0715ee7c096aed17 Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Thu, 20 Nov 2025 06:31:19 -0600 Subject: [PATCH] Address PR feedback: refactor brittle test for APISelect useage Now checks if widget is actually APISelect, rather than trying to infer from the class name. --- netbox/utilities/forms/mixins.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netbox/utilities/forms/mixins.py b/netbox/utilities/forms/mixins.py index 637136790..1ea09f7da 100644 --- a/netbox/utilities/forms/mixins.py +++ b/netbox/utilities/forms/mixins.py @@ -6,6 +6,7 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.utils.translation import gettext_lazy as _ from utilities.forms.fields import ColorField, QueryField, TagFilterField +from utilities.forms.widgets.apiselect import APISelect from utilities.forms.widgets.modifiers import MODIFIER_EMPTY_FALSE, MODIFIER_EMPTY_TRUE __all__ = ( @@ -236,7 +237,7 @@ class FilterModifierMixin: def _is_api_widget_field(self, field): """Check if a field uses an API-based widget.""" - if 'Dynamic' in field.__class__.__name__: + if field.widget is APISelect: return True if hasattr(field.widget, 'attrs') and field.widget.attrs: