feat: 筛选支持in查询

This commit is contained in:
martsforever
2025-08-24 21:30:04 +08:00
parent 1c7cd90d4e
commit c17fc3028e
+9 -2
View File
@@ -201,8 +201,15 @@ def create_model_service(
self.check_invalid_keys(query_param.filters) self.check_invalid_keys(query_param.filters)
# 为每个过滤条件添加WHERE子句(字段=值) # 为每个过滤条件添加WHERE子句(字段=值)
for key, value in query_param.filters.items(): for key, value in query_param.filters.items():
query = query.where(getattr(Cls, key) == value) # 判断value是否为列表或元组类型
count_query = count_query.where(getattr(Cls, key) == 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: if query_param.sort_field:
# 为排序字段添加ORDER BY子句 # 为排序字段添加ORDER BY子句