mirror of
https://github.com/jazzband/django-admin-sortable.git
synced 2026-03-17 06:20:33 +00:00
Merge pull request #229 from blag/fix-saving-with-specified-order-value
Fix saving with specified order value
This commit is contained in:
commit
e90dc03b2c
2 changed files with 6 additions and 1 deletions
|
|
@ -89,7 +89,7 @@ class SortableMixin(models.Model):
|
|||
|
||||
def save(self, *args, **kwargs):
|
||||
needs_default = (self._state.adding if VERSION >= (1, 8) else not self.pk)
|
||||
if needs_default:
|
||||
if not getattr(self, self.order_field_name) and needs_default:
|
||||
try:
|
||||
current_max = self.__class__.objects.aggregate(
|
||||
models.Max(self.order_field_name))[self.order_field_name + '__max'] or 0
|
||||
|
|
|
|||
|
|
@ -82,6 +82,11 @@ class SortableTestCase(TestCase):
|
|||
self.assertTrue(get_is_sortable(Category.objects.all()),
|
||||
'Category has more than one record. It should be sortable.')
|
||||
|
||||
def test_doesnt_overwrite_preexisting_order_field_value(self):
|
||||
self.create_category()
|
||||
category = Category.objects.create(title='Category 2', order=5)
|
||||
self.assertEqual(category.order, 5)
|
||||
|
||||
def test_save_order_incremented(self):
|
||||
category1 = self.create_category()
|
||||
self.assertEqual(category1.order, 1, 'Category 1 order should be 1.')
|
||||
|
|
|
|||
Loading…
Reference in a new issue