From 4ca4983204c32bb25bffcbbc97bcb5ae8528d763 Mon Sep 17 00:00:00 2001 From: Jason Novinger Date: Fri, 7 Nov 2025 16:55:43 -0600 Subject: [PATCH] Add ChoiceField support to FilterModifierMixin Enable filter modifiers for single-choice ChoiceFields in addition to the existing MultipleChoiceField support. ChoiceFields can now display modifier dropdowns with "Is", "Is Not", "Is Empty", and "Is Not Empty" options when the corresponding FilterSet defines those lookups. The mixin correctly verifies lookup availability against the FilterSet, so modifiers only appear when multiple lookup options are actually supported. Currently most FilterSets only define 'exact' for single-choice fields, but this change enables future FilterSet enhancements to expose additional lookups for ChoiceFields. --- netbox/utilities/forms/mixins.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netbox/utilities/forms/mixins.py b/netbox/utilities/forms/mixins.py index e2c84b042..a9ba8385b 100644 --- a/netbox/utilities/forms/mixins.py +++ b/netbox/utilities/forms/mixins.py @@ -151,6 +151,12 @@ class FilterModifierMixin: (MODIFIER_EMPTY_TRUE, _('Is Empty')), (MODIFIER_EMPTY_FALSE, _('Is Not Empty')), ], + forms.ChoiceField: [ + ('exact', _('Is')), + ('n', _('Is Not')), + (MODIFIER_EMPTY_TRUE, _('Is Empty')), + (MODIFIER_EMPTY_FALSE, _('Is Not Empty')), + ], forms.MultipleChoiceField: [ ('exact', _('Is')), ('n', _('Is Not')),