From 623998c787314dfd0eb70b41d2bb26a418de3624 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Fri, 20 Aug 2021 11:03:06 +0530 Subject: [PATCH] fix(db): Cast single dt field only if value is truthy --- frappe/database/database.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index d6ecf0795d..d4fc6c2219 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -557,7 +557,10 @@ class Database(object): if not df: frappe.throw(_('Invalid field name: {0}').format(frappe.bold(fieldname)), self.InvalidColumnName) - val = cast_fieldtype(df.fieldtype, val) + # cast only if value is "set" or is truthy? + # cast_fieldtype returns currnt TS value for Datetime, Date fields + if val: + val = cast_fieldtype(df.fieldtype, val) self.value_cache[doctype][fieldname] = val