From 3a461d02793e6f9d41c2b1a92647e691de1abaac Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 13 May 2022 09:33:00 -0400 Subject: [PATCH] Update Cable instantiations to match new signature --- netbox/circuits/tests/test_filtersets.py | 2 +- netbox/circuits/tests/test_views.py | 2 +- netbox/dcim/api/views.py | 2 +- netbox/dcim/tests/test_api.py | 10 +++--- netbox/dcim/tests/test_filtersets.py | 46 ++++++++++++------------ netbox/dcim/tests/test_models.py | 30 ++++++++-------- netbox/dcim/tests/test_views.py | 22 ++++++------ netbox/dcim/views.py | 2 +- netbox/wireless/signals.py | 2 +- 9 files changed, 59 insertions(+), 59 deletions(-) diff --git a/netbox/circuits/tests/test_filtersets.py b/netbox/circuits/tests/test_filtersets.py index 205236712..96a469951 100644 --- a/netbox/circuits/tests/test_filtersets.py +++ b/netbox/circuits/tests/test_filtersets.py @@ -356,7 +356,7 @@ class CircuitTerminationTestCase(TestCase, ChangeLoggedFilterSetTests): )) CircuitTermination.objects.bulk_create(circuit_terminations) - Cable(termination_a=circuit_terminations[0], termination_b=circuit_terminations[1]).save() + Cable(a_terminations=[circuit_terminations[0]], b_terminations=[circuit_terminations[1]]).save() def test_term_side(self): params = {'term_side': 'A'} diff --git a/netbox/circuits/tests/test_views.py b/netbox/circuits/tests/test_views.py index 17c846c86..968aa2f21 100644 --- a/netbox/circuits/tests/test_views.py +++ b/netbox/circuits/tests/test_views.py @@ -245,7 +245,7 @@ class CircuitTerminationTestCase( device=device, name='Interface 1' ) - Cable(termination_a=circuittermination, termination_b=interface).save() + Cable(a_terminations=[circuittermination], b_terminations=[interface]).save() response = self.client.get(reverse('circuits:circuittermination_trace', kwargs={'pk': circuittermination.pk})) self.assertHttpStatus(response, 200) diff --git a/netbox/dcim/api/views.py b/netbox/dcim/api/views.py index c82c4aff2..1ee6082f0 100644 --- a/netbox/dcim/api/views.py +++ b/netbox/dcim/api/views.py @@ -93,7 +93,7 @@ class PassThroughPortMixin(object): Return all CablePaths which traverse a given pass-through port. """ obj = get_object_or_404(self.queryset, pk=pk) - cablepaths = CablePath.objects.filter(path__contains=obj).prefetch_related('origin', 'destination') + cablepaths = CablePath.objects.filter(_nodes__contains=obj).prefetch_related('origin', 'destination') serializer = serializers.CablePathSerializer(cablepaths, context={'request': request}, many=True) return Response(serializer.data) diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index 22537abe0..9855c5b6d 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -45,7 +45,7 @@ class Mixins: device=peer_device, name='Peer Termination' ) - cable = Cable(termination_a=obj, termination_b=peer_obj, label='Cable 1') + cable = Cable(termination_a=obj, b_terminations=[peer_obj], label='Cable 1') cable.save() self.add_permissions(f'dcim.view_{self.model._meta.model_name}') @@ -1879,9 +1879,9 @@ class CableTest(APIViewTestCases.APIViewTestCase): Interface.objects.bulk_create(interfaces) cables = ( - Cable(termination_a=interfaces[0], termination_b=interfaces[10], label='Cable 1'), - Cable(termination_a=interfaces[1], termination_b=interfaces[11], label='Cable 2'), - Cable(termination_a=interfaces[2], termination_b=interfaces[12], label='Cable 3'), + Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[10]], label='Cable 1'), + Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[11]], label='Cable 2'), + Cable(a_terminations=[interfaces[2]], b_terminations=[interfaces[12]], label='Cable 3'), ) for cable in cables: cable.save() @@ -1931,7 +1931,7 @@ class ConnectedDeviceTest(APITestCase): self.interface2 = Interface.objects.create(device=self.device2, name='eth0') self.interface3 = Interface.objects.create(device=self.device1, name='eth1') # Not connected - cable = Cable(termination_a=self.interface1, termination_b=self.interface2) + cable = Cable(a_terminations=[self.interface1], b_terminations=[self.interface2]) cable.save() @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index 273ee6570..dab19f1e6 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -1941,8 +1941,8 @@ class ConsolePortTestCase(TestCase, ChangeLoggedFilterSetTests): ConsolePort.objects.bulk_create(console_ports) # Cables - Cable(termination_a=console_ports[0], termination_b=console_server_ports[0]).save() - Cable(termination_a=console_ports[1], termination_b=console_server_ports[1]).save() + Cable(a_terminations=[console_ports[0]], b_terminations=[console_server_ports[0]]).save() + Cable(a_terminations=[console_ports[1]], b_terminations=[console_server_ports[1]]).save() # Third port is not connected def test_name(self): @@ -2088,8 +2088,8 @@ class ConsoleServerPortTestCase(TestCase, ChangeLoggedFilterSetTests): ConsoleServerPort.objects.bulk_create(console_server_ports) # Cables - Cable(termination_a=console_server_ports[0], termination_b=console_ports[0]).save() - Cable(termination_a=console_server_ports[1], termination_b=console_ports[1]).save() + Cable(a_terminations=[console_server_ports[0]], b_terminations=[console_ports[0]]).save() + Cable(a_terminations=[console_server_ports[1]], b_terminations=[console_ports[1]]).save() # Third port is not connected def test_name(self): @@ -2235,8 +2235,8 @@ class PowerPortTestCase(TestCase, ChangeLoggedFilterSetTests): PowerPort.objects.bulk_create(power_ports) # Cables - Cable(termination_a=power_ports[0], termination_b=power_outlets[0]).save() - Cable(termination_a=power_ports[1], termination_b=power_outlets[1]).save() + Cable(a_terminations=[power_ports[0]], b_terminations=[power_outlets[0]]).save() + Cable(a_terminations=[power_ports[1]], b_terminations=[power_outlets[1]]).save() # Third port is not connected def test_name(self): @@ -2390,8 +2390,8 @@ class PowerOutletTestCase(TestCase, ChangeLoggedFilterSetTests): PowerOutlet.objects.bulk_create(power_outlets) # Cables - Cable(termination_a=power_outlets[0], termination_b=power_ports[0]).save() - Cable(termination_a=power_outlets[1], termination_b=power_ports[1]).save() + Cable(a_terminations=[power_outlets[0]], b_terminations=[power_ports[0]]).save() + Cable(a_terminations=[power_outlets[1]], b_terminations=[power_ports[1]]).save() # Third port is not connected def test_name(self): @@ -2552,8 +2552,8 @@ class InterfaceTestCase(TestCase, ChangeLoggedFilterSetTests): Interface.objects.bulk_create(interfaces) # Cables - Cable(termination_a=interfaces[0], termination_b=interfaces[3]).save() - Cable(termination_a=interfaces[1], termination_b=interfaces[4]).save() + Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]]).save() + Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]]).save() # Third pair is not connected def test_name(self): @@ -2820,8 +2820,8 @@ class FrontPortTestCase(TestCase, ChangeLoggedFilterSetTests): FrontPort.objects.bulk_create(front_ports) # Cables - Cable(termination_a=front_ports[0], termination_b=front_ports[3]).save() - Cable(termination_a=front_ports[1], termination_b=front_ports[4]).save() + Cable(a_terminations=[front_ports[0]], b_terminations=[front_ports[3]]).save() + Cable(a_terminations=[front_ports[1]], b_terminations=[front_ports[4]]).save() # Third port is not connected def test_name(self): @@ -2966,8 +2966,8 @@ class RearPortTestCase(TestCase, ChangeLoggedFilterSetTests): RearPort.objects.bulk_create(rear_ports) # Cables - Cable(termination_a=rear_ports[0], termination_b=rear_ports[3]).save() - Cable(termination_a=rear_ports[1], termination_b=rear_ports[4]).save() + Cable(a_terminations=[rear_ports[0]], b_terminations=[rear_ports[3]]).save() + Cable(a_terminations=[rear_ports[1]], b_terminations=[rear_ports[4]]).save() # Third port is not connected def test_name(self): @@ -3599,13 +3599,13 @@ class CableTestCase(TestCase, ChangeLoggedFilterSetTests): console_server_port = ConsoleServerPort.objects.create(device=devices[0], name='Console Server Port 1') # Cables - Cable(termination_a=interfaces[1], termination_b=interfaces[2], label='Cable 1', type=CableTypeChoices.TYPE_CAT3, tenant=tenants[0], status=LinkStatusChoices.STATUS_CONNECTED, color='aa1409', length=10, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() - Cable(termination_a=interfaces[3], termination_b=interfaces[4], label='Cable 2', type=CableTypeChoices.TYPE_CAT3, tenant=tenants[0], status=LinkStatusChoices.STATUS_CONNECTED, color='aa1409', length=20, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() - Cable(termination_a=interfaces[5], termination_b=interfaces[6], label='Cable 3', type=CableTypeChoices.TYPE_CAT5E, tenant=tenants[1], status=LinkStatusChoices.STATUS_CONNECTED, color='f44336', length=30, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() - Cable(termination_a=interfaces[7], termination_b=interfaces[8], label='Cable 4', type=CableTypeChoices.TYPE_CAT5E, tenant=tenants[1], status=LinkStatusChoices.STATUS_PLANNED, color='f44336', length=40, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() - Cable(termination_a=interfaces[9], termination_b=interfaces[10], label='Cable 5', type=CableTypeChoices.TYPE_CAT6, tenant=tenants[2], status=LinkStatusChoices.STATUS_PLANNED, color='e91e63', length=10, length_unit=CableLengthUnitChoices.UNIT_METER).save() - Cable(termination_a=interfaces[11], termination_b=interfaces[0], label='Cable 6', type=CableTypeChoices.TYPE_CAT6, tenant=tenants[2], status=LinkStatusChoices.STATUS_PLANNED, color='e91e63', length=20, length_unit=CableLengthUnitChoices.UNIT_METER).save() - Cable(termination_a=console_port, termination_b=console_server_port, label='Cable 7').save() + Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[2]], label='Cable 1', type=CableTypeChoices.TYPE_CAT3, tenant=tenants[0], status=LinkStatusChoices.STATUS_CONNECTED, color='aa1409', length=10, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() + Cable(a_terminations=[interfaces[3]], b_terminations=[interfaces[4]], label='Cable 2', type=CableTypeChoices.TYPE_CAT3, tenant=tenants[0], status=LinkStatusChoices.STATUS_CONNECTED, color='aa1409', length=20, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() + Cable(a_terminations=[interfaces[5]], b_terminations=[interfaces[6]], label='Cable 3', type=CableTypeChoices.TYPE_CAT5E, tenant=tenants[1], status=LinkStatusChoices.STATUS_CONNECTED, color='f44336', length=30, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() + Cable(a_terminations=[interfaces[7]], b_terminations=[interfaces[8]], label='Cable 4', type=CableTypeChoices.TYPE_CAT5E, tenant=tenants[1], status=LinkStatusChoices.STATUS_PLANNED, color='f44336', length=40, length_unit=CableLengthUnitChoices.UNIT_FOOT).save() + Cable(a_terminations=[interfaces[9]], b_terminations=[interfaces[10]], label='Cable 5', type=CableTypeChoices.TYPE_CAT6, tenant=tenants[2], status=LinkStatusChoices.STATUS_PLANNED, color='e91e63', length=10, length_unit=CableLengthUnitChoices.UNIT_METER).save() + Cable(a_terminations=[interfaces[11]], b_terminations=[interfaces[0]], label='Cable 6', type=CableTypeChoices.TYPE_CAT6, tenant=tenants[2], status=LinkStatusChoices.STATUS_PLANNED, color='e91e63', length=20, length_unit=CableLengthUnitChoices.UNIT_METER).save() + Cable(a_terminations=[console_port], b_terminations=[console_server_port], label='Cable 7').save() def test_label(self): params = {'label': ['Cable 1', 'Cable 2']} @@ -3812,8 +3812,8 @@ class PowerFeedTestCase(TestCase, ChangeLoggedFilterSetTests): PowerPort(device=device, name='Power Port 2'), ] PowerPort.objects.bulk_create(power_ports) - Cable(termination_a=power_feeds[0], termination_b=power_ports[0]).save() - Cable(termination_a=power_feeds[1], termination_b=power_ports[1]).save() + Cable(a_terminations=[power_feeds[0]], b_terminations=[power_ports[0]]).save() + Cable(a_terminations=[power_feeds[1]], b_terminations=[power_ports[1]]).save() def test_name(self): params = {'name': ['Power Feed 1', 'Power Feed 2']} diff --git a/netbox/dcim/tests/test_models.py b/netbox/dcim/tests/test_models.py index 8566f969b..5a57852c4 100644 --- a/netbox/dcim/tests/test_models.py +++ b/netbox/dcim/tests/test_models.py @@ -465,7 +465,7 @@ class CableTestCase(TestCase): self.interface1 = Interface.objects.create(device=self.device1, name='eth0') self.interface2 = Interface.objects.create(device=self.device2, name='eth0') self.interface3 = Interface.objects.create(device=self.device2, name='eth1') - self.cable = Cable(termination_a=self.interface1, termination_b=self.interface2) + self.cable = Cable(a_terminations=[self.interface1], b_terminations=[self.interface2]) self.cable.save() self.power_port1 = PowerPort.objects.create(device=self.device2, name='psu1') @@ -536,7 +536,7 @@ class CableTestCase(TestCase): The clean method should have a check to ensure only compatible port types can be connected by a cable """ # An interface cannot be connected to a power port - cable = Cable(termination_a=self.interface1, termination_b=self.power_port1) + cable = Cable(a_terminations=[self.interface1], b_terminations=[self.power_port1]) with self.assertRaises(ValidationError): cable.clean() @@ -544,7 +544,7 @@ class CableTestCase(TestCase): """ A cable cannot be made with the same A and B side terminations """ - cable = Cable(termination_a=self.interface1, termination_b=self.interface1) + cable = Cable(a_terminations=[self.interface1], b_terminations=[self.interface1]) with self.assertRaises(ValidationError): cable.clean() @@ -552,7 +552,7 @@ class CableTestCase(TestCase): """ A cable cannot connect a front port to its corresponding rear port """ - cable = Cable(termination_a=self.front_port1, termination_b=self.rear_port1) + cable = Cable(a_terminations=[self.front_port1], b_terminations=[self.rear_port1]) with self.assertRaises(ValidationError): cable.clean() @@ -561,7 +561,7 @@ class CableTestCase(TestCase): Either side of a cable cannot be terminated when that side already has a connection """ # Try to create a cable with the same interface terminations - cable = Cable(termination_a=self.interface2, termination_b=self.interface1) + cable = Cable(a_terminations=[self.interface2], b_terminations=[self.interface1]) with self.assertRaises(ValidationError): cable.clean() @@ -569,7 +569,7 @@ class CableTestCase(TestCase): """ Neither side of a cable can be terminated to a CircuitTermination which is attached to a ProviderNetwork """ - cable = Cable(termination_a=self.interface3, termination_b=self.circuittermination3) + cable = Cable(a_terminations=[self.interface3], b_terminations=[self.circuittermination3]) with self.assertRaises(ValidationError): cable.clean() @@ -578,36 +578,36 @@ class CableTestCase(TestCase): Test various combinations of RearPort connections. """ # Connecting a single-position RearPort to a multi-position RearPort is ok - Cable(termination_a=self.rear_port1, termination_b=self.rear_port2).full_clean() + Cable(a_terminations=[self.rear_port1], b_terminations=[self.rear_port2]).full_clean() # Connecting a single-position RearPort to an Interface is ok - Cable(termination_a=self.rear_port1, termination_b=self.interface3).full_clean() + Cable(a_terminations=[self.rear_port1], b_terminations=[self.interface3]).full_clean() # Connecting a single-position RearPort to a CircuitTermination is ok - Cable(termination_a=self.rear_port1, termination_b=self.circuittermination1).full_clean() + Cable(a_terminations=[self.rear_port1], b_terminations=[self.circuittermination1]).full_clean() # Connecting a multi-position RearPort to another RearPort with the same number of positions is ok - Cable(termination_a=self.rear_port3, termination_b=self.rear_port4).full_clean() + Cable(a_terminations=[self.rear_port3], b_terminations=[self.rear_port4]).full_clean() # Connecting a multi-position RearPort to an Interface is ok - Cable(termination_a=self.rear_port2, termination_b=self.interface3).full_clean() + Cable(a_terminations=[self.rear_port2], b_terminations=[self.interface3]).full_clean() # Connecting a multi-position RearPort to a CircuitTermination is ok - Cable(termination_a=self.rear_port2, termination_b=self.circuittermination1).full_clean() + Cable(a_terminations=[self.rear_port2], b_terminations=[self.circuittermination1]).full_clean() # Connecting a two-position RearPort to a three-position RearPort is NOT ok with self.assertRaises( ValidationError, msg='Connecting a 2-position RearPort to a 3-position RearPort should fail' ): - Cable(termination_a=self.rear_port2, termination_b=self.rear_port3).full_clean() + Cable(a_terminations=[self.rear_port2], b_terminations=[self.rear_port3]).full_clean() def test_cable_cannot_terminate_to_a_virtual_interface(self): """ A cable cannot terminate to a virtual interface """ virtual_interface = Interface(device=self.device1, name="V1", type=InterfaceTypeChoices.TYPE_VIRTUAL) - cable = Cable(termination_a=self.interface2, termination_b=virtual_interface) + cable = Cable(a_terminations=[self.interface2], b_terminations=[virtual_interface]) with self.assertRaises(ValidationError): cable.clean() @@ -616,6 +616,6 @@ class CableTestCase(TestCase): A cable cannot terminate to a wireless interface """ wireless_interface = Interface(device=self.device1, name="W1", type=InterfaceTypeChoices.TYPE_80211A) - cable = Cable(termination_a=self.interface2, termination_b=wireless_interface) + cable = Cable(a_terminations=[self.interface2], b_terminations=[wireless_interface]) with self.assertRaises(ValidationError): cable.clean() diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index e17f94682..389e23457 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -1960,7 +1960,7 @@ class ConsolePortTestCase(ViewTestCases.DeviceComponentViewTestCase): device=consoleport.device, name='Console Server Port 1' ) - Cable(termination_a=consoleport, termination_b=consoleserverport).save() + Cable(a_terminations=[consoleport], b_terminations=[consoleserverport]).save() response = self.client.get(reverse('dcim:consoleport_trace', kwargs={'pk': consoleport.pk})) self.assertHttpStatus(response, 200) @@ -2016,7 +2016,7 @@ class ConsoleServerPortTestCase(ViewTestCases.DeviceComponentViewTestCase): device=consoleserverport.device, name='Console Port 1' ) - Cable(termination_a=consoleserverport, termination_b=consoleport).save() + Cable(a_terminations=[consoleserverport], b_terminations=[consoleport]).save() response = self.client.get(reverse('dcim:consoleserverport_trace', kwargs={'pk': consoleserverport.pk})) self.assertHttpStatus(response, 200) @@ -2078,7 +2078,7 @@ class PowerPortTestCase(ViewTestCases.DeviceComponentViewTestCase): device=powerport.device, name='Power Outlet 1' ) - Cable(termination_a=powerport, termination_b=poweroutlet).save() + Cable(a_terminations=[powerport], b_terminations=[poweroutlet]).save() response = self.client.get(reverse('dcim:powerport_trace', kwargs={'pk': powerport.pk})) self.assertHttpStatus(response, 200) @@ -2143,7 +2143,7 @@ class PowerOutletTestCase(ViewTestCases.DeviceComponentViewTestCase): def test_trace(self): poweroutlet = PowerOutlet.objects.first() powerport = PowerPort.objects.first() - Cable(termination_a=poweroutlet, termination_b=powerport).save() + Cable(a_terminations=[poweroutlet], b_terminations=[powerport]).save() response = self.client.get(reverse('dcim:poweroutlet_trace', kwargs={'pk': poweroutlet.pk})) self.assertHttpStatus(response, 200) @@ -2261,7 +2261,7 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): @override_settings(EXEMPT_VIEW_PERMISSIONS=['*']) def test_trace(self): interface1, interface2 = Interface.objects.all()[:2] - Cable(termination_a=interface1, termination_b=interface2).save() + Cable(a_terminations=[interface1], b_terminations=[interface2]).save() response = self.client.get(reverse('dcim:interface_trace', kwargs={'pk': interface1.pk})) self.assertHttpStatus(response, 200) @@ -2332,7 +2332,7 @@ class FrontPortTestCase(ViewTestCases.DeviceComponentViewTestCase): device=frontport.device, name='Interface 1' ) - Cable(termination_a=frontport, termination_b=interface).save() + Cable(a_terminations=[frontport], b_terminations=[interface]).save() response = self.client.get(reverse('dcim:frontport_trace', kwargs={'pk': frontport.pk})) self.assertHttpStatus(response, 200) @@ -2390,7 +2390,7 @@ class RearPortTestCase(ViewTestCases.DeviceComponentViewTestCase): device=rearport.device, name='Interface 1' ) - Cable(termination_a=rearport, termination_b=interface).save() + Cable(a_terminations=[rearport], b_terminations=[interface]).save() response = self.client.get(reverse('dcim:rearport_trace', kwargs={'pk': rearport.pk})) self.assertHttpStatus(response, 200) @@ -2623,9 +2623,9 @@ class CableTestCase( ) Interface.objects.bulk_create(interfaces) - Cable(termination_a=interfaces[0], termination_b=interfaces[3], type=CableTypeChoices.TYPE_CAT6).save() - Cable(termination_a=interfaces[1], termination_b=interfaces[4], type=CableTypeChoices.TYPE_CAT6).save() - Cable(termination_a=interfaces[2], termination_b=interfaces[5], type=CableTypeChoices.TYPE_CAT6).save() + Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[3]], type=CableTypeChoices.TYPE_CAT6).save() + Cable(a_terminations=[interfaces[1]], b_terminations=[interfaces[4]], type=CableTypeChoices.TYPE_CAT6).save() + Cable(a_terminations=[interfaces[2]], b_terminations=[interfaces[5]], type=CableTypeChoices.TYPE_CAT6).save() tags = create_tags('Alpha', 'Bravo', 'Charlie') @@ -2857,7 +2857,7 @@ class PowerFeedTestCase(ViewTestCases.PrimaryObjectViewTestCase): device=device, name='Power Port 1' ) - Cable(termination_a=powerfeed, termination_b=powerport).save() + Cable(a_terminations=[powerfeed], b_terminations=[powerport]).save() response = self.client.get(reverse('dcim:powerfeed_trace', kwargs={'pk': powerfeed.pk})) self.assertHttpStatus(response, 200) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 5824e8186..96f72b309 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -2771,7 +2771,7 @@ class PathTraceView(generic.ObjectView): # Otherwise, find all CablePaths which traverse the specified object else: - related_paths = CablePath.objects.filter(path__contains=instance).prefetch_related('origin') + related_paths = CablePath.objects.filter(_nodes__contains=instance).prefetch_related('origin') # Check for specification of a particular path (when tracing pass-through ports) try: path_id = int(request.GET.get('cablepath_id')) diff --git a/netbox/wireless/signals.py b/netbox/wireless/signals.py index 3b4831a8d..a5903cfdb 100644 --- a/netbox/wireless/signals.py +++ b/netbox/wireless/signals.py @@ -62,5 +62,5 @@ def nullify_connected_interfaces(instance, **kwargs): ) # Delete and retrace any dependent cable paths - for cablepath in CablePath.objects.filter(path__contains=instance): + for cablepath in CablePath.objects.filter(_nodes__contains=instance): cablepath.delete()