mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Issues with showing child prefixes #5250
Closed
opened 2025-12-29 19:25:52 +01:00 by adam
·
13 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#5250
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @trrunde on GitHub (Aug 30, 2021).
Originally assigned to: @jeremystretch on GitHub.
NetBox version
v3.0
Python version
3.8
Steps to Reproduce
In version 2.x I had added some more column to be visible on the prefixes. I believe it was "Tags"
after upgrading to version 3.0 I get the following error when clicking "child prefixes" on a prefix.
The complete exception is provided below:
<class 'AttributeError'>
'str' object has no attribute 'available_columns'
Python version: 3.8.6
NetBox version: 3.0.0
Expected Behavior
Page showing child prefixes
Observed Behavior
The complete exception is provided below:
<class 'AttributeError'>
'str' object has no attribute 'available_columns'
Python version: 3.8.6
NetBox version: 3.0.0
@jeremystretch commented on GitHub (Aug 30, 2021):
Have you tried clearing out your table preferences (under your user profile)? Are you able to recreate this on v3.0.0 alone?
@rodvand commented on GitHub (Aug 30, 2021):
I am able to reproduce on my test instance, as well as the NetBox Beta Demo instance (https://beta-demo.netbox.dev/ipam/prefixes/1/) and click Child Prefixes. And I can't see any user preferences on my profile that should result in this (nothing related to prefix).
@jeremystretch commented on GitHub (Aug 30, 2021):
@rodvand can you please share the specific steps you're taking to reproduce the bug on v3.0.0?
@trrunde commented on GitHub (Aug 30, 2021):
have not tested that, will check settings to clear my profile then adding the column back after.
@trrunde commented on GitHub (Aug 30, 2021):
Tried clearing the columns on my profile page, same result. Got some more details about the traceback error in the email sent from netbox.
`Request Method: GET
Request URL: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fnetbox1.st3.lysetele.net%2Fipam%2Fprefixes%2F6295%2Fprefixes%2F&data=04%7C01%7C%7Ce2ff14718fdf4e29206508d96bfd90d4%7C22ca942f06c24f3894070e447dedbb67%7C0%7C0%7C637659559214455220%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=onWYiTCdB%2BmGau0ZDMT%2BaKeqH5DozyqYhWGXUXpqazg%3D&reserved=0
Django Version: 3.2.6
Python Executable: /opt/netbox/venv/bin/python3.8
Python Version: 3.8.6
Python Path: ['/opt/netbox/netbox', '/opt/netbox', '/opt/netbox/venv/bin', '/usr/lib64/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload', '/opt/netbox/venv/lib64/python3.8/site-packages', '/opt/netbox/venv/lib/python3.8/site-packages']
Server time: Mon, 30 Aug 2021 23:31:43 +0200
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'corsheaders',
'debug_toolbar',
'graphiql_debug_toolbar',
'django_filters',
'django_tables2',
'django_prometheus',
'graphene_django',
'mptt',
'rest_framework',
'taggit',
'timezone_field',
'circuits',
'dcim',
'ipam',
'extras',
'tenancy',
'users',
'utilities',
'virtualization',
'django_rq',
'drf_yasg']
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.ExceptionHandlingMiddleware',
'netbox.middleware.RemoteUserMiddleware',
'netbox.middleware.LoginRequiredMiddleware',
'netbox.middleware.APIVersionMiddleware',
'netbox.middleware.ObjectChangeMiddleware',
'django_prometheus.middleware.PrometheusAfterMiddleware']
Traceback (most recent call last):
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/opt/netbox/venv/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/netbox/venv/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 93, in dispatch
return super().dispatch(request, *args, **kwargs)
File "/opt/netbox/venv/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 70, in get
return render(request, self.get_template_name(), {
File "/opt/netbox/venv/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/netbox/venv/lib64/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string
return template.render(context, request)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/backends/django.py", line 61, in render
return self.template.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 170, in render
return self._render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/test/utils.py", line 100, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 938, in render
bit = node.render_annotated(context)
File "/opt/netbox/venv/lib64/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
return self.render(context)
File "/opt/netbox/venv/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 404, in table_config_form
'table_config_form': TableConfigForm(table=table),
File "/opt/netbox/netbox/utilities/forms/forms.py", line 207, in init
self.fields['available_columns'].choices = table.available_columns
Exception Type: AttributeError at /ipam/prefixes/6295/prefixes/
Exception Value: 'str' object has no attribute 'available_columns'
Request information:
USER: trondar`
@trrunde commented on GitHub (Aug 30, 2021):
Its enough to open a prefix, then click "child prefixes" This will lead to an error with 'str' object has no attribute 'available_columns'
@fkusei commented on GitHub (Aug 31, 2021):
Can confirm the same issue. Was upgrading from 2.11.11 to 3.0.0, cleared user preferences after upgrading. Same error, same log entry.
Can provide a copy of my logs if needed.
@jeremystretch commented on GitHub (Aug 31, 2021):
Table configuration for the child prefixes view just recently added in #6872 (in v2.11.12), but it seems to have broken in v3.0.
@jeremystretch commented on GitHub (Aug 31, 2021):
Looks like something got lost in the merge when we switched from a context variable to a template tag for the table configuration form.
@maznu commented on GitHub (Aug 31, 2021):
Seeing exactly the same issue. Glad someone's already reported it!
@casmith32 commented on GitHub (Sep 1, 2021):
I see that this has been closed. How do I apply the fix ? experiencing the same thing when showing child prefixes
The complete exception is provided below:
<class 'AttributeError'>
'str' object has no attribute 'available_columns'
Python version: 3.8.10
NetBox version: 3.0.0
@jeremystretch commented on GitHub (Sep 1, 2021):
@casmith32 it will be available in the v3.0.1 release, expected later today. Alternatively, you can clone the
developbranch to pull in the current state (with the fix), however be aware that it may not be entirely stable.@casmith32 commented on GitHub (Sep 1, 2021):
Great - we'll sit tight. not a show stopper rightnow