From 45ac3bd03f21c08365a9468659d1348c3106f054 Mon Sep 17 00:00:00 2001 From: Trey Hunner Date: Mon, 18 Feb 2013 17:32:30 -0800 Subject: [PATCH] Fix return value of ModelTracker.current pre-save --- model_utils/tracker.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/model_utils/tracker.py b/model_utils/tracker.py index b964e30..09a13c5 100644 --- a/model_utils/tracker.py +++ b/model_utils/tracker.py @@ -44,11 +44,13 @@ class ModelInstanceTracker(object): self.fields = fields def set_saved_fields(self): - self.saved_data = self.current() + if self.instance.pk: + self.saved_data = self.current() + else: + self.saved_data = {} def current(self): - return (dict((f, getattr(self.instance, f)) for f in self.fields) - if self.instance.pk else {}) + return dict((f, getattr(self.instance, f)) for f in self.fields) def has_changed(self, field): """Returns ``True`` if field has changed from currently saved value"""