Skip to content

TypeError when filtering object list by static choice #7324

@dvaccarosenna

Description

@dvaccarosenna

NetBox version

v3.0.3

Python version

3.8

Steps to Reproduce

  1. Click on Power Feeds (to view list of instances)
  2. Select the "Filters" tab
  3. Select the "Type" dropdown and make a selection e.g. Primary
  4. Click "Search" button

Expected Behavior

List of Power Feeds filtered by chosen type

Observed Behavior

A TypeError exception was raised.

<class 'TypeError'>

'in <string>' requires string as left operand, not NoneType

Python version: 3.8.10
NetBox version: 3.0.3

Logs:

Internal Server Error: /dcim/power-feeds/
Traceback (most recent call last):
  File "/opt/app-root/lib64/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/app-root/lib64/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/app-root/lib64/python3.8/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox/netbox/utilities/views.py", line 94, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/opt/app-root/lib64/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "/opt/netbox/netbox/netbox/views/generic.py", line 187, in get
    return render(request, self.template_name, context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/app-root/lib64/python3.8/site-packages/django/template/library.py", line 214, in render
    _dict = self.func(*resolved_args, **resolved_kwargs)
  File "/opt/netbox/netbox/utilities/templatetags/helpers.py", line 423, in applied_filters
    display_value = ', '.join([str(v) for v in get_selected_values(form, filter_name)])
  File "/opt/netbox/netbox/utilities/forms/utils.py", line 140, in get_selected_values
    values = [
  File "/opt/netbox/netbox/utilities/forms/utils.py", line 141, in <listcomp>
    label for value, label in choices if str(value) in filter_data or None in filter_data
TypeError: 'in <string>' requires string as left operand, not NoneType

Metadata

Metadata

Assignees

Labels

status: acceptedThis issue has been accepted for implementationtype: bugA confirmed report of unexpected behavior in the application

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions