From 1faa2fd1e2eab6458e197b0d46fe22d28bf803e0 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Wed, 6 Jul 2022 10:52:48 +0530 Subject: [PATCH] fix: Format string instead of % to avoid TypeError --- frappe/database/database.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index 07ef86072e..54a54d01a7 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -279,11 +279,13 @@ class Database: try: return self._cursor.mogrify(query, values) - except BaseException: + except AttributeError: if isinstance(values, dict): - return query % {k: frappe.db.escape(v) if isinstance(v, str) else v for k, v in values.items()} + return query.format( + **{k: frappe.db.escape(v) if isinstance(v, str) else v for k, v in values.items()} + ) elif isinstance(values, (list, tuple)): - return query % tuple(frappe.db.escape(v) if isinstance(v, str) else v for v in values) + return query.format(*(frappe.db.escape(v) if isinstance(v, str) else v for v in values)) return query, values def lazy_mogrify(self, query: Query, values: QueryValues) -> LazyMogrify: