From 72158f182004df5113af18b8494ff9fbcacab937 Mon Sep 17 00:00:00 2001 From: romgar Date: Fri, 18 Nov 2016 23:11:23 +0000 Subject: [PATCH] Avoid to directly initialise a monitored field if defered to avoid recursion issue --- model_utils/fields.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/model_utils/fields.py b/model_utils/fields.py index 805c707..0a3f9cf 100644 --- a/model_utils/fields.py +++ b/model_utils/fields.py @@ -110,8 +110,11 @@ class MonitorField(models.DateTimeField): return getattr(instance, self.monitor) def _save_initial(self, sender, instance, **kwargs): + if self.monitor in instance.get_deferred_fields(): + # Fix related to issue #241 to avoid recursive error on double monitor fields + return setattr(instance, self.monitor_attname, - self.get_monitored_value(instance)) + self.get_monitored_value(instance)) def pre_save(self, model_instance, add): value = now()