diff --git a/model_utils/tracker.py b/model_utils/tracker.py index 5136990..118d1ac 100644 --- a/model_utils/tracker.py +++ b/model_utils/tracker.py @@ -50,10 +50,7 @@ class DescriptorWrapper: if instance is None: return self was_deferred = self.field_name in instance.get_deferred_fields() - try: - value = self.descriptor.__get__(instance, owner) - except AttributeError: - value = self.descriptor + value = self.descriptor.__get__(instance, owner) if was_deferred: tracker_instance = getattr(instance, self.tracker_attname) tracker_instance.saved_data[self.field_name] = lightweight_deepcopy(value) diff --git a/tests/models.py b/tests/models.py index ac65931..8b49654 100644 --- a/tests/models.py +++ b/tests/models.py @@ -249,7 +249,7 @@ class TrackedAbstract(AbstractTracked): number = models.IntegerField() mutable = MutableField(default=None) - tracker = FieldTracker() + tracker = ModelTracker() class TrackedNotDefault(models.Model): diff --git a/tests/test_fields/test_field_tracker.py b/tests/test_fields/test_field_tracker.py index 42bd66b..f239bd3 100644 --- a/tests/test_fields/test_field_tracker.py +++ b/tests/test_fields/test_field_tracker.py @@ -1,7 +1,5 @@ from __future__ import annotations -from unittest import skip - from django.core.cache import cache from django.core.exceptions import FieldError from django.db import models @@ -877,7 +875,6 @@ class InheritedModelTrackerTests(ModelTrackerTests): self.assertTrue(self.tracker.has_changed('name2')) -@skip("has known failures") class AbstractModelTrackerTests(ModelTrackerTests): tracked_class = TrackedAbstract