From 77196ea80ebf82520bd0bd57afe101b6723d25ba 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')),