Skip to content

Commit e35c724

Browse files
authored
Merge pull request #624 from ProtixIT/DescriptorWrapper-no-catch
Remove catching of `AttributeError` in `DescriptorWrapper`
2 parents 4275f84 + 14cf1b0 commit e35c724

File tree

3 files changed

+2
-8
lines changed

3 files changed

+2
-8
lines changed

Diff for: model_utils/tracker.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,7 @@ def __get__(self, instance, owner):
5050
if instance is None:
5151
return self
5252
was_deferred = self.field_name in instance.get_deferred_fields()
53-
try:
54-
value = self.descriptor.__get__(instance, owner)
55-
except AttributeError:
56-
value = self.descriptor
53+
value = self.descriptor.__get__(instance, owner)
5754
if was_deferred:
5855
tracker_instance = getattr(instance, self.tracker_attname)
5956
tracker_instance.saved_data[self.field_name] = lightweight_deepcopy(value)

Diff for: tests/models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ class TrackedAbstract(AbstractTracked):
249249
number = models.IntegerField()
250250
mutable = MutableField(default=None)
251251

252-
tracker = FieldTracker()
252+
tracker = ModelTracker()
253253

254254

255255
class TrackedNotDefault(models.Model):

Diff for: tests/test_fields/test_field_tracker.py

-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
from __future__ import annotations
22

3-
from unittest import skip
4-
53
from django.core.cache import cache
64
from django.core.exceptions import FieldError
75
from django.db import models
@@ -877,7 +875,6 @@ def test_child_fields_not_tracked(self):
877875
self.assertTrue(self.tracker.has_changed('name2'))
878876

879877

880-
@skip("has known failures")
881878
class AbstractModelTrackerTests(ModelTrackerTests):
882879

883880
tracked_class = TrackedAbstract

0 commit comments

Comments
 (0)