mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-15 19:52:52 -06:00
Fixes #844: Apply order_naturally() to API interfaces list
This commit is contained in:
parent
fbfa3cf619
commit
f3db914e9d
@ -6,7 +6,6 @@ from rest_framework.views import APIView
|
|||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.db.models import Count
|
|
||||||
from django.http import Http404
|
from django.http import Http404
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
|
|
||||||
@ -332,7 +331,8 @@ class InterfaceListView(generics.ListAPIView):
|
|||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
|
|
||||||
device = get_object_or_404(Device, pk=self.kwargs['pk'])
|
device = get_object_or_404(Device, pk=self.kwargs['pk'])
|
||||||
queryset = Interface.objects.filter(device=device).select_related('connected_as_a', 'connected_as_b')
|
queryset = Interface.objects.order_naturally(device.device_type.interface_ordering).filter(device=device)\
|
||||||
|
.select_related('connected_as_a', 'connected_as_b', 'circuit_termination')
|
||||||
|
|
||||||
# Filter by type (physical or virtual)
|
# Filter by type (physical or virtual)
|
||||||
iface_type = self.request.query_params.get('type')
|
iface_type = self.request.query_params.get('type')
|
||||||
@ -490,8 +490,8 @@ class RelatedConnectionsView(APIView):
|
|||||||
response['power-ports'].append(data)
|
response['power-ports'].append(data)
|
||||||
|
|
||||||
# Interface connections
|
# Interface connections
|
||||||
interfaces = Interface.objects.filter(device=device).select_related('connected_as_a', 'connected_as_b',
|
interfaces = Interface.objects.order_naturally(device.device_type.interface_ordering).filter(device=device)\
|
||||||
'circuit_termination')
|
.select_related('connected_as_a', 'connected_as_b', 'circuit_termination')
|
||||||
for iface in interfaces:
|
for iface in interfaces:
|
||||||
data = serializers.InterfaceDetailSerializer(instance=iface).data
|
data = serializers.InterfaceDetailSerializer(instance=iface).data
|
||||||
del(data['device'])
|
del(data['device'])
|
||||||
|
@ -749,7 +749,8 @@ def device_inventory(request, pk):
|
|||||||
def device_lldp_neighbors(request, pk):
|
def device_lldp_neighbors(request, pk):
|
||||||
|
|
||||||
device = get_object_or_404(Device, pk=pk)
|
device = get_object_or_404(Device, pk=pk)
|
||||||
interfaces = Interface.objects.filter(device=device).select_related('connected_as_a', 'connected_as_b')
|
interfaces = Interface.objects.order_naturally(device.device_type.interface_ordering).filter(device=device)\
|
||||||
|
.select_related('connected_as_a', 'connected_as_b')
|
||||||
|
|
||||||
return render(request, 'dcim/device_lldp_neighbors.html', {
|
return render(request, 'dcim/device_lldp_neighbors.html', {
|
||||||
'device': device,
|
'device': device,
|
||||||
|
Loading…
Reference in New Issue
Block a user