Quick Search field under Devices is not working and is generating error reports #9009

Closed
opened 2025-12-29 20:44:05 +01:00 by adam · 2 comments
Owner

Originally created by @artiomello on GitHub (Dec 29, 2023).

Deployment Type

Self-hosted

NetBox Version

v3.6.8

Python Version

3.10

Steps to Reproduce

  1. Populate Devices section while running Netbox v3.5.5 or older
  2. Update to v3.6.8
  3. Go to DCIM > Devices
  4. Enter some text into the Quick Search field

Expected Behavior

Quick search should work normally as it did and does in other sections of Netbox.

Observed Behavior

Quick search is not working - objects are not being filtered. What happens instead is that we get a [NetBox] ERROR (internal IP): Internal Server Error: /dcim/devices/ email that says something is broken (slightly redacted):

`Internal Server Error: /dcim/devices/

FieldError at /dcim/devices/
Cannot resolve keyword 'description_icontains' into field. Choices are: _name, airflow, asset_tag, bookmarks, cabletermination, cluster, cluster_id, comments, config_template, config_template_id, console_port_count, console_server_port_count, consoleports, consoleserverports, contacts, coordinate, created, custom_field_data, description, device_bay_count, device_type, device_type_id, devicebays, face, front_port_count, frontports, id, images, interface_count, interfaces, inventory_item_count, inventoryitems, journal_entries, last_updated, latitude, local_context_data, location, location_id, longitude, module_bay_count, modulebays, modules, name, oob_ip, oob_ip_id, parent_bay, platform, platform_id, position, power_outlet_count, power_port_count, poweroutlets, powerports, primary_ip4, primary_ip4_id, primary_ip6, primary_ip6_id, rack, rack_id, rear_port_count, rearports, role, role_id, serial, services, site, site_id, status, tagged_items, tags, tenant, tenant_id, vc_master_for, vc_position, vc_priority, vdcs, virtual_chassis, virtual_chassis_id, virtual_machines

Request Method: GET
Request URL: https://netbox.redacted/dcim/devices/?q=baba
Django Version: 4.2.8
Python Executable: /opt/netbox-3.6.8/venv/bin/python3
Python Version: 3.10.12
Python Path: ['/opt/netbox/netbox', '/opt/netbox-3.6.8', '/opt/netbox-3.6.8/venv/bin', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/opt/netbox-3.6.8/venv/lib/python3.10/site-packages']
Server time: Fri, 29 Dec 2023 10:44:35 +0100
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django.forms',
'corsheaders',
'debug_toolbar',
'graphiql_debug_toolbar',
'django_filters',
'django_tables2',
'django_prometheus',
'graphene_django',
'mptt',
'rest_framework',
'social_django',
'taggit',
'timezone_field',
'core',
'account',
'circuits',
'dcim',
'ipam',
'extras',
'tenancy',
'users',
'utilities',
'virtualization',
'wireless',
'django_rq',
'drf_spectacular',
'drf_spectacular_sidecar',
'netbox_topology_views.TopologyViewsConfig']
Installed Middleware:
['graphiql_debug_toolbar.middleware.DebugToolbarMiddleware',
'django_prometheus.middleware.PrometheusBeforeMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'netbox.middleware.RemoteUserMiddleware',
'netbox.middleware.CoreMiddleware',
'netbox.middleware.MaintenanceModeMiddleware',
'django_prometheus.middleware.PrometheusAfterMiddleware']

Traceback (most recent call last):
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view
return self.dispatch(request, *args, **kwargs)
File "/opt/netbox/netbox/netbox/views/generic/base.py", line 77, in dispatch
return super().dispatch(request, *args, **kwargs)
File "/opt/netbox/netbox/utilities/views.py", line 99, in dispatch
return super().dispatch(request, *args, **kwargs)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 143, in dispatch
return handler(request, *args, **kwargs)
File "/opt/netbox/netbox/netbox/views/generic/bulk_views.py", line 131, in get
self.queryset = self.filterset(request.GET, self.queryset, request=request).qs
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django_filters/filterset.py", line 230, in qs
qs = self.filter_queryset(qs)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django_filters/filterset.py", line 213, in filter_queryset
queryset = self.filters[name].filter(queryset, value)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django_filters/filters.py", line 820, in call
return self.method(qs, self.f.field_name, value)
File "/opt/netbox/netbox/dcim/filtersets.py", line 1016, in search
return queryset.filter(
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1436, in filter
return self._filter_or_exclude(False, args, kwargs)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1454, in _filter_or_exclude
clone._filter_or_exclude_inplace(negate, args, kwargs)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1461, in _filter_or_exclude_inplace
self._query.add_q(Q(*args, **kwargs))
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1546, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1577, in _add_q
child_clause, needed_inner = self.build_filter(
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1405, in build_filter
return self._add_q(
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1577, in _add_q
child_clause, needed_inner = self.build_filter(
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1427, in build_filter
lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize)
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1237, in solve_lookup_type
_, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta())
File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1725, in names_to_path
raise FieldError(

Exception Type: FieldError at /dcim/devices/
Exception Value: Cannot resolve keyword 'description_icontains' into field. Choices are: _name, airflow, asset_tag, bookmarks, cabletermination, cluster, cluster_id, comments, config_template, config_template_id, console_port_count, console_server_port_count, consoleports, consoleserverports, contacts, coordinate, created, custom_field_data, description, device_bay_count, device_type, device_type_id, devicebays, face, front_port_count, frontports, id, images, interface_count, interfaces, inventory_item_count, inventoryitems, journal_entries, last_updated, latitude, local_context_data, location, location_id, longitude, module_bay_count, modulebays, modules, name, oob_ip, oob_ip_id, parent_bay, platform, platform_id, position, power_outlet_count, power_port_count, poweroutlets, powerports, primary_ip4, primary_ip4_id, primary_ip6, primary_ip6_id, rack, rack_id, rear_port_count, rearports, role, role_id, serial, services, site, site_id, status, tagged_items, tags, tenant, tenant_id, vc_master_for, vc_position, vc_priority, vdcs, virtual_chassis, virtual_chassis_id, virtual_machines
Raised during: dcim.views.DeviceListView
Request information:
USER: redacted

GET:
q = 'baba'

Originally created by @artiomello on GitHub (Dec 29, 2023). ### Deployment Type Self-hosted ### NetBox Version v3.6.8 ### Python Version 3.10 ### Steps to Reproduce 1. Populate Devices section while running Netbox v3.5.5 or older 2. Update to v3.6.8 3. Go to DCIM > Devices 4. Enter some text into the Quick Search field ### Expected Behavior Quick search should work normally as it did and does in other sections of Netbox. ### Observed Behavior Quick search is not working - objects are not being filtered. What happens instead is that we get a **[NetBox] ERROR (internal IP): Internal Server Error: /dcim/devices/** email that says something is broken (slightly redacted): `Internal Server Error: /dcim/devices/ FieldError at /dcim/devices/ Cannot resolve keyword 'description_icontains' into field. Choices are: _name, airflow, asset_tag, bookmarks, cabletermination, cluster, cluster_id, comments, config_template, config_template_id, console_port_count, console_server_port_count, consoleports, consoleserverports, contacts, coordinate, created, custom_field_data, description, device_bay_count, device_type, device_type_id, devicebays, face, front_port_count, frontports, id, images, interface_count, interfaces, inventory_item_count, inventoryitems, journal_entries, last_updated, latitude, local_context_data, location, location_id, longitude, module_bay_count, modulebays, modules, name, oob_ip, oob_ip_id, parent_bay, platform, platform_id, position, power_outlet_count, power_port_count, poweroutlets, powerports, primary_ip4, primary_ip4_id, primary_ip6, primary_ip6_id, rack, rack_id, rear_port_count, rearports, role, role_id, serial, services, site, site_id, status, tagged_items, tags, tenant, tenant_id, vc_master_for, vc_position, vc_priority, vdcs, virtual_chassis, virtual_chassis_id, virtual_machines Request Method: GET Request URL: https://netbox.**_redacted_**/dcim/devices/?q=baba Django Version: 4.2.8 Python Executable: /opt/netbox-3.6.8/venv/bin/python3 Python Version: 3.10.12 Python Path: ['/opt/netbox/netbox', '/opt/netbox-3.6.8', '/opt/netbox-3.6.8/venv/bin', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/opt/netbox-3.6.8/venv/lib/python3.10/site-packages'] Server time: Fri, 29 Dec 2023 10:44:35 +0100 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'django.forms', 'corsheaders', 'debug_toolbar', 'graphiql_debug_toolbar', 'django_filters', 'django_tables2', 'django_prometheus', 'graphene_django', 'mptt', 'rest_framework', 'social_django', 'taggit', 'timezone_field', 'core', 'account', 'circuits', 'dcim', 'ipam', 'extras', 'tenancy', 'users', 'utilities', 'virtualization', 'wireless', 'django_rq', 'drf_spectacular', 'drf_spectacular_sidecar', 'netbox_topology_views.TopologyViewsConfig'] Installed Middleware: ['graphiql_debug_toolbar.middleware.DebugToolbarMiddleware', 'django_prometheus.middleware.PrometheusBeforeMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'netbox.middleware.RemoteUserMiddleware', 'netbox.middleware.CoreMiddleware', 'netbox.middleware.MaintenanceModeMiddleware', 'django_prometheus.middleware.PrometheusAfterMiddleware'] Traceback (most recent call last): File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view return self.dispatch(request, *args, **kwargs) File "/opt/netbox/netbox/netbox/views/generic/base.py", line 77, in dispatch return super().dispatch(request, *args, **kwargs) File "/opt/netbox/netbox/utilities/views.py", line 99, in dispatch return super().dispatch(request, *args, **kwargs) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 143, in dispatch return handler(request, *args, **kwargs) File "/opt/netbox/netbox/netbox/views/generic/bulk_views.py", line 131, in get self.queryset = self.filterset(request.GET, self.queryset, request=request).qs File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django_filters/filterset.py", line 230, in qs qs = self.filter_queryset(qs) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django_filters/filterset.py", line 213, in filter_queryset queryset = self.filters[name].filter(queryset, value) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django_filters/filters.py", line 820, in __call__ return self.method(qs, self.f.field_name, value) File "/opt/netbox/netbox/dcim/filtersets.py", line 1016, in search return queryset.filter( File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1436, in filter return self._filter_or_exclude(False, args, kwargs) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1454, in _filter_or_exclude clone._filter_or_exclude_inplace(negate, args, kwargs) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/query.py", line 1461, in _filter_or_exclude_inplace self._query.add_q(Q(*args, **kwargs)) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1546, in add_q clause, _ = self._add_q(q_object, self.used_aliases) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1577, in _add_q child_clause, needed_inner = self.build_filter( File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1405, in build_filter return self._add_q( File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1577, in _add_q child_clause, needed_inner = self.build_filter( File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1427, in build_filter lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1237, in solve_lookup_type _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) File "/opt/netbox-3.6.8/venv/lib/python3.10/site-packages/django/db/models/sql/query.py", line 1725, in names_to_path raise FieldError( Exception Type: FieldError at /dcim/devices/ Exception Value: Cannot resolve keyword 'description_icontains' into field. Choices are: _name, airflow, asset_tag, bookmarks, cabletermination, cluster, cluster_id, comments, config_template, config_template_id, console_port_count, console_server_port_count, consoleports, consoleserverports, contacts, coordinate, created, custom_field_data, description, device_bay_count, device_type, device_type_id, devicebays, face, front_port_count, frontports, id, images, interface_count, interfaces, inventory_item_count, inventoryitems, journal_entries, last_updated, latitude, local_context_data, location, location_id, longitude, module_bay_count, modulebays, modules, name, oob_ip, oob_ip_id, parent_bay, platform, platform_id, position, power_outlet_count, power_port_count, poweroutlets, powerports, primary_ip4, primary_ip4_id, primary_ip6, primary_ip6_id, rack, rack_id, rear_port_count, rearports, role, role_id, serial, services, site, site_id, status, tagged_items, tags, tenant, tenant_id, vc_master_for, vc_position, vc_priority, vdcs, virtual_chassis, virtual_chassis_id, virtual_machines Raised during: dcim.views.DeviceListView Request information: USER: **_redacted_** GET: q = 'baba'
adam added the type: bugstatus: duplicate labels 2025-12-29 20:44:05 +01:00
adam closed this issue 2025-12-29 20:44:06 +01:00
Author
Owner

@markkuleinio commented on GitHub (Dec 29, 2023):

The same as issue #14621, upgrade to 3.6.9 and test again

@markkuleinio commented on GitHub (Dec 29, 2023): The same as issue #14621, upgrade to 3.6.9 and test again
Author
Owner

@artiomello commented on GitHub (Dec 29, 2023):

Yup, 3.6.9 fixes the issue. Thanks.

@artiomello commented on GitHub (Dec 29, 2023): Yup, 3.6.9 fixes the issue. Thanks.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#9009