From 7a0ab3aa15ddc1188e03ae38ab4025ee6a4d54cc Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 14 Feb 2019 09:43:56 -0500 Subject: [PATCH] Fixes #2895: Fix filtering of nullable character fields --- CHANGELOG.md | 1 + netbox/utilities/filters.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d16541057..9fa425d2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ v2.5.7 (FUTURE) * [#2888](https://github.com/digitalocean/netbox/issues/2888) - Correct foreground color of device roles in rack elevations * [#2893](https://github.com/digitalocean/netbox/issues/2893) - Remove duplicate display of VRF RD on IP address view +* [#2895](https://github.com/digitalocean/netbox/issues/2895) - Fix filtering of nullable character fields v2.5.6 (2019-02-13) diff --git a/netbox/utilities/filters.py b/netbox/utilities/filters.py index 94edd3dd1..40e687077 100644 --- a/netbox/utilities/filters.py +++ b/netbox/utilities/filters.py @@ -1,4 +1,5 @@ import django_filters +from django.conf import settings from django.db.models import Q from taggit.models import Tag @@ -14,12 +15,11 @@ class NullableCharFieldFilter(django_filters.CharFilter): """ Allow matching on null field values by passing a special string used to signify NULL. """ - null_value = 'NULL' def filter(self, qs, value): - if value != self.null_value: + if value != settings.FILTERS_NULL_CHOICE_VALUE: return super().filter(qs, value) - qs = self.get_method(qs)(**{'{}__isnull'.format(self.name): True}) + qs = self.get_method(qs)(**{'{}__isnull'.format(self.field_name): True}) return qs.distinct() if self.distinct else qs