From 543458b473491db2e37683044ca8d01abe41290b Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Mon, 16 Jan 2023 15:38:15 +0530 Subject: [PATCH] fix: handle empty list as filters --- frappe/database/query.py | 2 +- frappe/tests/test_query.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/frappe/database/query.py b/frappe/database/query.py index 072f1eed4f..10423f9ca4 100644 --- a/frappe/database/query.py +++ b/frappe/database/query.py @@ -111,7 +111,7 @@ class Engine: self.apply_dict_filters(filters) elif isinstance(filters, (list, tuple)): - if all(isinstance(d, (str, int)) for d in filters): + if all(isinstance(d, (str, int)) for d in filters) and len(filters) > 0: self.apply_dict_filters({"name": ("in", filters)}) else: for filter in filters: diff --git a/frappe/tests/test_query.py b/frappe/tests/test_query.py index 42d3670f2d..82218e5952 100644 --- a/frappe/tests/test_query.py +++ b/frappe/tests/test_query.py @@ -299,6 +299,14 @@ class TestQuery(FrappeTestCase): ), ) + self.assertEqual( + frappe.qb.get_query( + "DocType", + filters=[], + ).get_sql(), + "SELECT `name` FROM `tabDocType`".replace("`", '"' if frappe.db.db_type == "postgres" else "`"), + ) + def test_implicit_join_query(self): self.maxDiff = None