python - 使烧瓶查询更高效
问题描述
我正在使用此查询来获取基于状态和学校类型的用户。就像如果我有 5 类学校和 5 类用户,我必须查询 25 次。有什么好的解决方案还是我做得对?
all_users = (
session.query(User)
.join(School)
.filter(
School.type == 1,
User.status == 2,
)
.all()
)
解决方案
这是一个很常见的情况,答案很好理解:in_
在过滤器上,如下所示:
all_users = (
session.query(User)
.join(School)
.filter(
School.type.in_(my_list_of_school_ids),
User.status.in_(my_list_of_user_status),
)
.all()
)
推荐阅读
- arm - ARM 通用定时器模拟
- c# - C#在类之间传递对象为null
- webview - Tizen 本机 Web 视图:如何在本机 Web 视图中存储和恢复 cookie?
- android - 如何使 android 活动适合所有尺寸的移动显示器?
- sql-server - 如何在 SQL Server 中汇总按重叠时间分组的持续时间
- python - 正则表达式使用不正确的日文字符返回 true
- azure - Azure 中托管的 Kentico 站点中的会话状态问题
- sql - 使用参数更快地进行 T-Sql 查询
- ios - 如何在 IOS 中集成 webRTC 视频通话?
- oracle - Rownum 无法正常工作