SQLAlchemy 多条件筛选
问题描述:根据前端的传参进行数据查询,可能没有查询条件,可能有多个查询条件。想要实现,根据传参动态筛选数据。
实现思路:
先查询出全部的数据,根据筛选条件进行筛选(没有就不筛选)
代码如下:
result = select(table)
# 根据查询条件对查询结果进行筛选
for key, values in data.items():
result = result.where(table.c[key] == values)
参数说明
table: 表对象
select: SQLAlchemy查询方法
data: 筛选条件(字典方式传入)
where: 条件筛选
我的data格式是这样的:data = {'id': 2, 'name': '李四'}
查询结果
以上。由于我们是先查询全部结果然后再做筛选,可能存在问题就是数据量大时性能会有影响,如果大家有什么更好的方法、见解或者问题欢迎评论区留言交流~