From e089b2d7231272f466bb2988e9f451db13e89745 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Thu, 2 Jan 2025 00:23:09 +0530 Subject: [PATCH] fix: explicitly return doc as dict because json serializer of Document doesn't return fields with null values --- frappe/api/v2.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/frappe/api/v2.py b/frappe/api/v2.py index ca5753b3d6..ef42cf18b3 100644 --- a/frappe/api/v2.py +++ b/frappe/api/v2.py @@ -65,7 +65,7 @@ def read_doc(doctype: str, name: str): doc = frappe.get_doc(doctype, name) doc.check_permission("read") doc.apply_fieldlevel_read_permissions() - return doc + return doc.as_dict() def document_list(doctype: str): @@ -96,8 +96,6 @@ def document_list(doctype: str): if return_value is not None: query = return_value - print(query) - data = query.run(as_dict=True, debug=debug) return { @@ -119,7 +117,7 @@ def create_doc(doctype: str): data.pop("doctype", None) if (name := data.get("name")) and isinstance(name, str): frappe.flags.api_name_set = True - return frappe.new_doc(doctype, **data).insert() + return frappe.new_doc(doctype, **data).insert().as_dict() def copy_doc(doctype: str, name: str, ignore_no_copy: bool = True): @@ -146,7 +144,7 @@ def update_doc(doctype: str, name: str): if doc.get("parenttype"): frappe.get_doc(doc.parenttype, doc.parent).save() - return doc + return doc.as_dict() def delete_doc(doctype: str, name: str):