From 71ad9afc87c16042e03c1361b0d83f2d874b6e08 Mon Sep 17 00:00:00 2001 From: pratu16x7 Date: Wed, 23 Aug 2017 11:19:14 +0530 Subject: [PATCH 1/2] check if before_save exists --- frappe/model/document.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frappe/model/document.py b/frappe/model/document.py index 20627a128e..6250152d8d 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -328,6 +328,11 @@ class Document(BaseDocument): and parenttype=%s and parentfield=%s""".format(df.options), (self.name, self.doctype, fieldname)) + def get_doc_before_save(self): + if not getattr(self, '_doc_before_save', None): + self._doc_before_save = frappe.get_doc(self.doctype, self.name) + return self._doc_before_save + def set_new_name(self): """Calls `frappe.naming.se_new_name` for parent and child docs.""" set_new_name(self) From 6843b10fcd245f93805810ede963cf23aae1853a Mon Sep 17 00:00:00 2001 From: pratu16x7 Date: Fri, 1 Sep 2017 19:10:51 +0530 Subject: [PATCH 2/2] [minor] use cached before update doc value after save --- frappe/model/document.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/model/document.py b/frappe/model/document.py index 6250152d8d..033c807418 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -768,7 +768,7 @@ class Document(BaseDocument): self._doc_before_save = None if not self.is_new() and getattr(self.meta, 'track_changes', False): - self._doc_before_save = frappe.get_doc(self.doctype, self.name) + self.get_doc_before_save() if self.flags.ignore_validate: return