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子句