From c17fc3028e2c8febc52c386f8ea32d114b469ed4 Mon Sep 17 00:00:00 2001 From: martsforever Date: Sun, 24 Aug 2025 21:30:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AD=9B=E9=80=89=E6=94=AF=E6=8C=81in?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/utils/create_module_service.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/utils/create_module_service.py b/app/utils/create_module_service.py index 889d976..0acc1c7 100644 --- a/app/utils/create_module_service.py +++ b/app/utils/create_module_service.py @@ -201,8 +201,15 @@ def create_model_service( self.check_invalid_keys(query_param.filters) # 为每个过滤条件添加WHERE子句(字段=值) for key, value in query_param.filters.items(): - query = query.where(getattr(Cls, key) == value) - count_query = count_query.where(getattr(Cls, key) == value) + # 判断value是否为列表或元组类型 + if isinstance(value, (list, tuple)): + # 如果是数组,使用in查询 + query = query.where(getattr(Cls, key).in_(value)) + count_query = count_query.where(getattr(Cls, key).in_(value)) + else: + # 如果不是数组,使用等于查询 + query = query.where(getattr(Cls, key) == value) + count_query = count_query.where(getattr(Cls, key) == value) if query_param.sort_field: # 为排序字段添加ORDER BY子句