feat: 筛选支持in查询
This commit is contained in:
@@ -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子句
|
||||||
|
|||||||
Reference in New Issue
Block a user