diff --git a/model_utils/fields.py b/model_utils/fields.py index a349b7c..f308706 100644 --- a/model_utils/fields.py +++ b/model_utils/fields.py @@ -228,7 +228,7 @@ class SplitField(models.TextField): return value.content def value_to_string(self, obj): - value = self._get_val_from_obj(obj) + value = self.value_from_object(obj) return value.content def get_prep_value(self, value): diff --git a/model_utils/managers.py b/model_utils/managers.py index 3e345c9..6558bf9 100644 --- a/model_utils/managers.py +++ b/model_utils/managers.py @@ -139,10 +139,10 @@ class InheritanceQuerySetMixin(object): if levels: levels -= 1 while parent_link is not None: - if django.VERSION < (1, 8): - related = parent_link.related - else: + if django.VERSION < (1, 9): related = parent_link.rel + else: + related = parent_link.remote_field ancestry.insert(0, related.get_accessor_name()) if levels or levels is None: if django.VERSION < (1, 8): diff --git a/model_utils/tests/models.py b/model_utils/tests/models.py index 7bc8012..8043c9f 100644 --- a/model_utils/tests/models.py +++ b/model_utils/tests/models.py @@ -28,9 +28,12 @@ class InheritanceManagerTestParent(models.Model): # FileField is just a handy descriptor-using field. Refs #6. non_related_field_using_descriptor = models.FileField(upload_to="test") related = models.ForeignKey( - InheritanceManagerTestRelated, related_name="imtests", null=True) + InheritanceManagerTestRelated, related_name="imtests", null=True, + on_delete=models.CASCADE) normal_field = models.TextField() - related_self = models.OneToOneField("self", related_name="imtests_self", null=True) + related_self = models.OneToOneField( + "self", related_name="imtests_self", null=True, + on_delete=models.CASCADE) objects = InheritanceManager() def __unicode__(self): @@ -65,7 +68,7 @@ class InheritanceManagerTestChild2(InheritanceManagerTestParent): class InheritanceManagerTestChild3(InheritanceManagerTestParent): parent_ptr = models.OneToOneField( InheritanceManagerTestParent, related_name='manual_onetoone', - parent_link=True) + parent_link=True, on_delete=models.CASCADE) class TimeStamp(TimeStampedModel): @@ -219,7 +222,7 @@ class Tracked(models.Model): class TrackedFK(models.Model): - fk = models.ForeignKey('Tracked') + fk = models.ForeignKey('Tracked', on_delete=models.CASCADE) tracker = FieldTracker() custom_tracker = FieldTracker(fields=['fk_id']) @@ -275,7 +278,7 @@ class ModelTracked(models.Model): class ModelTrackedFK(models.Model): - fk = models.ForeignKey('ModelTracked') + fk = models.ForeignKey('ModelTracked', on_delete=models.CASCADE) tracker = ModelTracker() custom_tracker = ModelTracker(fields=['fk_id'])