diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 09cc34891a..445d000f1b 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -89,8 +89,10 @@ class BaseDocument: "meta", "_meta", "flags", + "parent_doc", "_table_fields", "_valid_columns", + "_doc_before_save", "_table_fieldnames", "_reserved_keywords", "dont_update_if_missing", diff --git a/frappe/model/document.py b/frappe/model/document.py index 4875d637bf..125c44e994 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -193,9 +193,10 @@ class Document(BaseDocument): self.load_from_db() def get_latest(self): - if not getattr(self, "latest", None): - self.latest = frappe.get_doc(self.doctype, self.name) - return self.latest + if not hasattr(self, "_doc_before_save"): + self.load_doc_before_save() + + return self._doc_before_save def check_permission(self, permtype="read", permlevel=None): """Raise `frappe.PermissionError` if not permitted"""