From 3c2935776e8122fbcfd1e33120d2793f1383f100 Mon Sep 17 00:00:00 2001 From: Ruben Dura Tari Date: Tue, 11 Oct 2016 18:53:45 +0100 Subject: [PATCH] Enables support for primary keys that are not AutoFields. Specially useful when using UUIDs as primary keys. --- adminsortable/models.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/adminsortable/models.py b/adminsortable/models.py index 0e2c965..6e58f47 100644 --- a/adminsortable/models.py +++ b/adminsortable/models.py @@ -1,5 +1,6 @@ from django.contrib.contenttypes.models import ContentType from django.db import models +from django.utils import version from adminsortable.fields import SortableForeignKey @@ -87,7 +88,11 @@ class SortableMixin(models.Model): 'typecast to an integer.' def save(self, *args, **kwargs): - if not self.pk: + major, minor, _, _, _ = version.get_complete_version() + needs_default = (self._state.adding + if major == 1 and minor >= 8 + else not self.pk) + if needs_default: try: current_max = self.__class__.objects.aggregate( models.Max(self.order_field_name))[self.order_field_name + '__max'] or 0