소스 검색

Fixes #5627: Fix filtering of interface connections list

jeremystretch 4 년 전
부모
커밋
a1eb4dc807
3개의 변경된 파일3개의 추가작업 그리고 8개의 파일을 삭제
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 1 3
      netbox/dcim/api/views.py
  3. 1 5
      netbox/dcim/views.py

+ 1 - 0
docs/release-notes/version-2.11.md

@@ -9,6 +9,7 @@
 ### Bug Fixes
 ### Bug Fixes
 
 
 * [#5442](https://github.com/netbox-community/netbox/issues/5442) - Fix assignment of permissions based on LDAP groups
 * [#5442](https://github.com/netbox-community/netbox/issues/5442) - Fix assignment of permissions based on LDAP groups
+* [#5627](https://github.com/netbox-community/netbox/issues/5627) - Fix filtering of interface connections list
 * [#6759](https://github.com/netbox-community/netbox/issues/6759) - Fix assignment of parent interfaces for bulk import
 * [#6759](https://github.com/netbox-community/netbox/issues/6759) - Fix assignment of parent interfaces for bulk import
 * [#6773](https://github.com/netbox-community/netbox/issues/6773) - Add missing `display` field to rack unit serializer
 * [#6773](https://github.com/netbox-community/netbox/issues/6773) - Add missing `display` field to rack unit serializer
 * [#6774](https://github.com/netbox-community/netbox/issues/6774) - Fix A/Z assignment when swapping circuit terminations
 * [#6774](https://github.com/netbox-community/netbox/issues/6774) - Fix A/Z assignment when swapping circuit terminations

+ 1 - 3
netbox/dcim/api/views.py

@@ -592,11 +592,9 @@ class PowerConnectionViewSet(ListModelMixin, GenericViewSet):
 
 
 class InterfaceConnectionViewSet(ListModelMixin, GenericViewSet):
 class InterfaceConnectionViewSet(ListModelMixin, GenericViewSet):
     queryset = Interface.objects.prefetch_related('device', '_path').filter(
     queryset = Interface.objects.prefetch_related('device', '_path').filter(
-        # Avoid duplicate connections by only selecting the lower PK in a connected pair
         _path__destination_type__app_label='dcim',
         _path__destination_type__app_label='dcim',
         _path__destination_type__model='interface',
         _path__destination_type__model='interface',
-        _path__destination_id__isnull=False,
-        pk__lt=F('_path__destination_id')
+        _path__destination_id__isnull=False
     )
     )
     serializer_class = serializers.InterfaceConnectionSerializer
     serializer_class = serializers.InterfaceConnectionSerializer
     filterset_class = filtersets.InterfaceConnectionFilterSet
     filterset_class = filtersets.InterfaceConnectionFilterSet

+ 1 - 5
netbox/dcim/views.py

@@ -2564,11 +2564,7 @@ class PowerConnectionsListView(generic.ObjectListView):
 
 
 
 
 class InterfaceConnectionsListView(generic.ObjectListView):
 class InterfaceConnectionsListView(generic.ObjectListView):
-    queryset = Interface.objects.filter(
-        # Avoid duplicate connections by only selecting the lower PK in a connected pair
-        _path__isnull=False,
-        pk__lt=F('_path__destination_id')
-    ).order_by('device')
+    queryset = Interface.objects.filter(_path__isnull=False).order_by('device')
     filterset = filtersets.InterfaceConnectionFilterSet
     filterset = filtersets.InterfaceConnectionFilterSet
     filterset_form = forms.InterfaceConnectionFilterForm
     filterset_form = forms.InterfaceConnectionFilterForm
     table = tables.InterfaceConnectionTable
     table = tables.InterfaceConnectionTable