Error on cable edit after B port was deleted / wrong status #9504

Closed
opened 2025-12-29 20:50:44 +01:00 by adam · 1 comment
Owner

Originally created by @blindzero on GitHub (Apr 19, 2024).

Deployment Type

Self-hosted (Docker)

NetBox Version

v3.7.5

Python Version

3.11

Steps to Reproduce

  1. Have a device with front- and rear-Ports (Patch Panel)
  2. Have a device with interfaces (switches)
  3. Connect switch interface (here gi43) with front-port (here 22)
  4. Delete rear ports on patch panel device
  5. Go To Connections > Cables
  6. Click on edit of cable --> error message

Expected Behavior

  • Edit Button works to connect cable again

Observed Behavior

  • Error Message
    2024-04-19 19_20_00-Server Error and 5 more pages - Work - Microsoft​ Edge
Originally created by @blindzero on GitHub (Apr 19, 2024). ### Deployment Type Self-hosted (Docker) ### NetBox Version v3.7.5 ### Python Version 3.11 ### Steps to Reproduce 1. Have a device with front- and rear-Ports (Patch Panel) 2. Have a device with interfaces (switches) 3. Connect switch interface (here gi43) with front-port (here 22) 4. Delete rear ports on patch panel device 5. Go To Connections > Cables 6. Click on edit of cable --> error message ### Expected Behavior - Edit Button works to connect cable again ### Observed Behavior - Error Message ![2024-04-19 19_20_00-Server Error and 5 more pages - Work - Microsoft​ Edge](https://github.com/netbox-community/netbox/assets/13959569/78d69dbd-7b02-4b1a-be0a-3523e51152a6)
adam added the type: bugstatus: needs ownertopic: cablingseverity: low labels 2025-12-29 20:50:44 +01:00
adam closed this issue 2025-12-29 20:50:44 +01:00
Author
Owner

@arthanson commented on GitHub (Apr 22, 2024):

  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
  File "/Users/ahanson/dev/work/netbox/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 "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/ahanson/dev/work/netbox/netbox/dcim/views.py", line 3196, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 175, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/base.py", line 26, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/ahanson/dev/work/netbox/netbox/utilities/views.py", line 106, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 143, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 235, in get
    return render(request, self.template_name, {
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/shortcuts.py", line 24, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 175, in render
    return self._render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render
    return self.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render
    return compiled_parent._render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render
    return self.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render
    return compiled_parent._render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render
    return self.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render
    return compiled_parent._render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render
    return self.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render
    result = block.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render
    result = block.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render
    result = block.nodelist.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp>
    return SafeString("".join([node.render_annotated(context) for node in self]))
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated
    return self.render(context)
  File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/library.py", line 258, in render
    _dict = self.func(*resolved_args, **resolved_kwargs)
  File "/Users/ahanson/dev/work/netbox/netbox/utilities/templatetags/form_helpers.py", line 55, in render_field
    'label': label or field.label,
AttributeError: 'str' object has no attribute 'label'
@arthanson commented on GitHub (Apr 22, 2024): ``` File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/Users/ahanson/dev/work/netbox/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 "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view return self.dispatch(request, *args, **kwargs) File "/Users/ahanson/dev/work/netbox/netbox/dcim/views.py", line 3196, in dispatch return super().dispatch(request, *args, **kwargs) File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 175, in dispatch return super().dispatch(request, *args, **kwargs) File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/base.py", line 26, in dispatch return super().dispatch(request, *args, **kwargs) File "/Users/ahanson/dev/work/netbox/netbox/utilities/views.py", line 106, in dispatch return super().dispatch(request, *args, **kwargs) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 143, in dispatch return handler(request, *args, **kwargs) File "/Users/ahanson/dev/work/netbox/netbox/netbox/views/generic/object_views.py", line 235, in get return render(request, self.template_name, { File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/shortcuts.py", line 24, in render content = loader.render_to_string(template_name, context, request, using=using) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 175, in render return self._render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render return self.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render return compiled_parent._render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render return self.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render return compiled_parent._render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render return self.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 157, in render return compiled_parent._render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/test/utils.py", line 112, in instrumented_test_render return self.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render result = block.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render result = block.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/loader_tags.py", line 63, in render result = block.nodelist.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 1005, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/base.py", line 966, in render_annotated return self.render(context) File "/Users/ahanson/dev/work/netbox/venv/lib/python3.10/site-packages/django/template/library.py", line 258, in render _dict = self.func(*resolved_args, **resolved_kwargs) File "/Users/ahanson/dev/work/netbox/netbox/utilities/templatetags/form_helpers.py", line 55, in render_field 'label': label or field.label, AttributeError: 'str' object has no attribute 'label' ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#9504