From 1b700e0b251fd333a825c71e3c672db0fa33117e Mon Sep 17 00:00:00 2001 From: blag Date: Sun, 24 May 2020 15:54:34 -0700 Subject: [PATCH] Use Python 3.6's ordered dictionaries --- adminsortable/admin.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/adminsortable/admin.py b/adminsortable/admin.py index 256e818..cd855c1 100644 --- a/adminsortable/admin.py +++ b/adminsortable/admin.py @@ -313,17 +313,17 @@ class SortableAdmin(SortableAdminBase, ModelAdmin): with transaction.atomic(): objects_dict = {str(obj.pk): obj for obj in qs} + objects_list = list(objects_dict.keys()) order_field_name = klass._meta.ordering[0] if order_field_name.startswith('-'): order_field_name = order_field_name[1:] step = -1 - start_object = max(objects_dict.values(), - key=lambda x: getattr(x, order_field_name)) + start_object = objects_dict[objects_list[-1]] + else: step = 1 - start_object = min(objects_dict.values(), - key=lambda x: getattr(x, order_field_name)) + start_object = objects_dict[objects_list[0]] start_index = getattr(start_object, order_field_name, len(indexes))