From 76deeb531cd6a8d022426658dd3e488dff0ce127 Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Tue, 10 Jan 2023 18:22:05 +0530 Subject: [PATCH] fix: support list of str or int in filters --- frappe/database/query.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frappe/database/query.py b/frappe/database/query.py index cdca28601d..726f930b19 100644 --- a/frappe/database/query.py +++ b/frappe/database/query.py @@ -111,11 +111,14 @@ class Engine: self.apply_dict_filters(filters) elif isinstance(filters, (list, tuple)): - for filter in filters: - if isinstance(filter, (str, int, Criterion, dict)): - self.apply_filters(filter) - elif isinstance(filter, (list, tuple)): - self.apply_list_filters(filter) + if all(isinstance(d, (str, int)) for d in filters): + self.apply_dict_filters({"name": ("in", filters)}) + else: + for filter in filters: + if isinstance(filter, (str, int, Criterion, dict)): + self.apply_filters(filter) + elif isinstance(filter, (list, tuple)): + self.apply_list_filters(filter) def apply_list_filters(self, filter: list): if len(filter) == 2: