diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 4f0d7ec29..cb03a41d1 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1,4 +1,5 @@ import re +from operator import attrgetter from django.contrib import messages from django.contrib.auth.decorators import permission_required @@ -12,6 +13,8 @@ from django.shortcuts import get_object_or_404, redirect, render from django.utils.http import urlencode from django.views.generic import View +from natsort import natsorted + from ipam.models import Prefix, IPAddress, VLAN from circuits.models import Circuit from extras.models import TopologyMap @@ -520,7 +523,10 @@ def device(request, pk): .select_related('connected_as_a', 'connected_as_b', 'circuit') mgmt_interfaces = Interface.objects.filter(device=device, mgmt_only=True)\ .select_related('connected_as_a', 'connected_as_b', 'circuit') - device_bays = DeviceBay.objects.filter(device=device).select_related('installed_device__device_type__manufacturer') + device_bays = natsorted( + DeviceBay.objects.filter(device=device).select_related('installed_device__device_type__manufacturer'), + key=attrgetter("name") + ) # Gather any secrets which belong to this device secrets = device.secrets.all()