From 00d72f18cf12121d41b6bff38e11dd133e94ea48 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Wed, 30 Nov 2022 15:22:13 -0500 Subject: [PATCH] Annotate need for natural ordering --- netbox/dcim/views.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 7decb8b36..e8a7c66bd 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -589,19 +589,18 @@ class RackElevationListView(generic.ObjectListView): racks = filtersets.RackFilterSet(request.GET, self.queryset).qs total_count = racks.count() + # Ordering ORDERING_CHOICES = { 'name': 'Name (A-Z)', '-name': 'Name (Z-A)', 'facility_id': 'Facility ID (A-Z)', '-facility_id': 'Facility ID (Z-A)', } - sort = request.GET.get('sort', "name") + sort = request.GET.get('sort', 'name') if sort not in ORDERING_CHOICES: sort = 'name' - sort_choice = sort - sort = sort.replace("name", "_name") - - racks = racks.order_by(sort) + sort_field = sort.replace("name", "_name") # Use natural ordering + racks = racks.order_by(sort_field) # Pagination per_page = get_paginate_count(request) @@ -624,7 +623,7 @@ class RackElevationListView(generic.ObjectListView): 'page': page, 'total_count': total_count, 'sort': sort, - 'sort_display_name': ORDERING_CHOICES[sort_choice], + 'sort_display_name': ORDERING_CHOICES[sort], 'sort_choices': ORDERING_CHOICES, 'rack_face': rack_face, 'filter_form': forms.RackElevationFilterForm(request.GET),