Merge pull request #166 from sushifan/save-only-order-field

Only update the order field when saving objects; omit unnecessary db queries
master
Brandon Taylor 2017-03-11 13:30:24 -05:00 committed by GitHub
commit 0d92d5c1a1
1 changed files with 5 additions and 2 deletions

View File

@ -297,8 +297,11 @@ class SortableAdmin(SortableAdminBase, ModelAdmin):
for index in indexes:
obj = objects_dict.get(index)
setattr(obj, order_field_name, start_index)
obj.save()
# perform the update only if the order field has changed
if getattr(obj, order_field_name) != start_index:
setattr(obj, order_field_name, start_index)
# only update the object's order field
obj.save(update_fields=(order_field_name,))
start_index += step
response = {'objects_sorted': True}
except (KeyError, IndexError, klass.DoesNotExist,