From 6c5a9058fecad8ad5ef240b3fd8b028accfab6f3 Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Mon, 24 Aug 2015 08:18:22 -0400 Subject: [PATCH] Minor PEP8, text and formatting tweaks. --- adminsortable/admin.py | 3 ++- adminsortable/models.py | 15 ++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/adminsortable/admin.py b/adminsortable/admin.py index af2058e..ddde83b 100644 --- a/adminsortable/admin.py +++ b/adminsortable/admin.py @@ -284,7 +284,8 @@ class SortableInlineBase(SortableAdminBase, InlineModelAdmin): if not issubclass(self.model, SortableMixin): raise Warning(u'Models that are specified in SortableTabluarInline' - ' and SortableStackedInline must inherit from SortableMixin') + ' and SortableStackedInline must inherit from SortableMixin' + ' (or Sortable for legacy implementations)') def get_queryset(self, request): if VERSION < (1, 6): diff --git a/adminsortable/models.py b/adminsortable/models.py index ae7c127..d3cdb67 100644 --- a/adminsortable/models.py +++ b/adminsortable/models.py @@ -74,7 +74,11 @@ class SortableMixin(models.Model): self.__class__.sortable_foreign_key = sortable_foreign_keys[0] def _get_order_field_value(self): - return int(self.order_field.value_to_string(self)) + try: + return int(self.order_field.value_to_string(self)) + except ValueError: + raise u'The value from the specified order field could not be ' + 'typecast to an integer.' def save(self, *args, **kwargs): if not self.id: @@ -99,8 +103,9 @@ class SortableMixin(models.Model): {self.sortable_foreign_key.name: sfk_obj.id}) try: - order_by = '-{}'.format(self.order_field_name) \ - if '{}__lt'.format(self.order_field_name) in filters.keys() else self.order_field_name + order_by = '-{0}'.format(self.order_field_name) \ + if '{0}__lt'.format(self.order_field_name) in filters.keys() \ + else self.order_field_name obj = self.__class__.objects.filter( **filters).order_by(order_by)[:1][0] except IndexError: @@ -110,12 +115,12 @@ class SortableMixin(models.Model): def get_next(self, extra_filters={}, filter_on_sortable_fk=True): return self._filter_objects( - {'{}__gt'.format(self.order_field_name): self._get_order_field_value}, + {'{0}__gt'.format(self.order_field_name): self._get_order_field_value}, extra_filters, filter_on_sortable_fk) def get_previous(self, extra_filters={}, filter_on_sortable_fk=True): return self._filter_objects( - {'{}__lt'.format(self.order_field_name): self._get_order_field_value}, + {'{0}__lt'.format(self.order_field_name): self._get_order_field_value}, extra_filters, filter_on_sortable_fk)