Flask SQLAlchemy 分页查询满足条件的最高级任务
使用 Flask 和 SQLAlchemy 查询满足特定条件的最高级别任务,可以使用子查询来查找 parent_id 为 NULL 的父任务。以下是如何修改查询的示例:
from sqlalchemy import func
# 获取最高级别任务的 ID
subquery = db.session.query(func.min(SysTask.id)).group_by(SysTask.responsible_id).subquery()
# 根据最高级别任务的 ID 筛选任务
sys_tasks = SysTask.query.filter(SysTask.id.in_(subquery)).paginate(page=page, per_page=per_page)
在这个示例中,子查询选择每个 responsible_id 的最小 id,并根据 responsible_id 进行分组。然后,主查询根据从子查询中获得的 ID 筛选任务。
请注意,如果 SysTask 和 SysUser 之间的实际列关系与代码片段中提供的不同,则需要在子查询中用实际列关系替换 SysTask.responsible_id。
原文地址: https://www.cveoy.top/t/topic/pgr5 著作权归作者所有。请勿转载和采集!