diff --git a/model_utils/tracker.py b/model_utils/tracker.py index 9c6de5a..582ae06 100644 --- a/model_utils/tracker.py +++ b/model_utils/tracker.py @@ -71,8 +71,7 @@ class DescriptorWrapper(object): @staticmethod def cls_for_descriptor(descriptor): - has_del = hasattr(descriptor, '__delete__') - if has_del: + if hasattr(descriptor, '__delete__'): return FullDescriptorWrapper else: return DescriptorWrapper diff --git a/tests/test_fields/test_field_tracker.py b/tests/test_fields/test_field_tracker.py index 604ec60..93b9efa 100644 --- a/tests/test_fields/test_field_tracker.py +++ b/tests/test_fields/test_field_tracker.py @@ -7,6 +7,7 @@ from django.core.exceptions import FieldError from django.test import TestCase from model_utils import FieldTracker +from model_utils.tracker import DescriptorWrapper from tests.models import ( Tracked, TrackedFK, InheritedTrackedFK, TrackedNotDefault, TrackedNonFieldAttr, TrackedMultiple, InheritedTracked, TrackedFileField, @@ -191,6 +192,7 @@ class FieldTrackerTests(FieldTrackerTestCase, FieldTrackerCommonTests): if self.tracked_class == Tracked: self.assertFalse(item.tracker.has_changed('number')) if django.VERSION >= (1, 10): + self.assertIsInstance(item.__class__.number, DescriptorWrapper) self.assertTrue('number' in item.get_deferred_fields()) else: self.assertTrue('number' in item._deferred_fields)