diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index dbd03a8574..785c6ed07e 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -231,10 +231,11 @@ class BaseDocument(object): def _fix_numeric_types(self): for df in self.meta.get("fields"): - if df.fieldtype in ("Int", "Check"): - self.set(df.fieldname, cint(self.get(df.fieldname))) - elif df.fieldtype in ("Float", "Currency"): - self.set(df.fieldname, flt(self.get(df.fieldname))) + if self.get(df.fieldname) is not None: + if df.fieldtype in ("Int", "Check"): + self.set(df.fieldname, cint(self.get(df.fieldname))) + elif df.fieldtype in ("Float", "Currency"): + self.set(df.fieldname, flt(self.get(df.fieldname))) if self.docstatus is not None: self.docstatus = cint(self.docstatus) diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index 68d3411629..5ee6b71eea 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -24,7 +24,7 @@ class DatabaseQuery(object): limit_page_length=20, as_list=False, with_childnames=False, debug=False, ignore_permissions=False, user=None): if not ignore_permissions and not frappe.has_permission(self.doctype, "read", user=user): - raise frappe.PermissionError + raise frappe.PermissionError, self.doctype if fields: self.fields = fields