Browse Source

perf: reduce DB call in `frappe.client.get` (#17665) (#17711)

(cherry picked from commit ebb0cd13fe)

Co-authored-by: Sagar Vora <sagar@resilient.tech>
version-14
mergify[bot] 2 years ago
committed by GitHub
parent
commit
1655fb39c8
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 12 deletions
  1. +5
    -12
      frappe/client.py

+ 5
- 12
frappe/client.py View File

@@ -78,16 +78,9 @@ def get(doctype, name=None, filters=None, parent=None):
if frappe.is_table(doctype):
check_parent_permission(parent, doctype)

if filters and not name:
name = frappe.db.get_value(doctype, frappe.parse_json(filters))
if not name:
frappe.throw(_("No document found for given filters"))

doc = frappe.get_doc(doctype, name)
if not doc.has_permission("read"):
raise frappe.PermissionError

return frappe.get_doc(doctype, name).as_dict()
doc = frappe.get_doc(doctype, name or frappe.parse_json(filters))
doc.check_permission()
return doc.as_dict()


@frappe.whitelist()
@@ -144,8 +137,8 @@ def get_value(doctype, fieldname, filters=None, as_dict=True, debug=False, paren
def get_single_value(doctype, field):
if not frappe.has_permission(doctype):
frappe.throw(_("No permission for {0}").format(_(doctype)), frappe.PermissionError)
value = frappe.db.get_single_value(doctype, field)
return value
return frappe.db.get_single_value(doctype, field)


@frappe.whitelist(methods=["POST", "PUT"])


Loading…
Cancel
Save