diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index cabaeada8..19d9e1ded 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -600,6 +600,10 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): kwargs = { 'field_name': f'custom_field_data__{self.name}' } + # Native numeric filters will use `isnull` by default for empty lookups, but + # JSON fields require `empty` (see bug #20012). + if lookup_expr == 'isnull': + lookup_expr = 'empty' if lookup_expr is not None: kwargs['lookup_expr'] = lookup_expr