From 6c90beba8fac669fd12fef1de2615d7fabb45f6b Mon Sep 17 00:00:00 2001 From: Ruben Ghio Date: Fri, 5 Jun 2020 16:18:41 -0300 Subject: [PATCH] Feature to support 'in' clause based on jsonapi filter=1,2,3 - BUG: #189 --- flask_rest_jsonapi/querystring.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/flask_rest_jsonapi/querystring.py b/flask_rest_jsonapi/querystring.py index 7240071..e7a460e 100644 --- a/flask_rest_jsonapi/querystring.py +++ b/flask_rest_jsonapi/querystring.py @@ -61,8 +61,17 @@ def _get_key_values(self, name): return results def _simple_filters(self, dict_): - return [{"name": key, "op": "eq", "val": value} - for (key, value) in dict_.items()] + """Return filter list + + :return list: list of dict for filter parameters. Includes support for 'in' for list values + """ + filter_list = [] + for (key, value) in dict_.items(): + operator = 'eq' + if isinstance(value, list): + operator = 'in' + filter_list.append({"name": key, "op": operator, "val": value}) + return filter_list @property def querystring(self):