class SysTask(db.Model): ''tablename = 'sys_task' ''table_args = {'useexisting': True} id = db.Column(db.Integer, autoincrement=True, primary_key=True, unique=True, info='编号') responsible_id = db.Column(db.Integer, db.ForeignKey('sys_user.user_id'), info='责任人编号') parent_id = db.Column(db.Integer, db.ForeignKey('sys_task.id')) children = db.relationship('SysTask', cascade='all', backref=db.backref('parent', remote_side=[id]))

python flask 单标查询查找责任人时,分页查找如何查询满足条件的最高级task内容:要查询满足条件的最高级任务,可以使用以下步骤:

  1. 根据给定的责任人编号,使用 filter_by() 方法在 SysTask 表中查询满足条件的任务。
  2. 使用 filter() 方法将结果限制为没有父任务的任务,即最高级任务。
  3. 使用 paginate() 方法进行分页查询。

下面是一个示例代码:

from flask import request

# 获取请求参数
responsible_id = request.args.get('responsible_id')
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 10, type=int)

# 查询满足条件的最高级任务
query = SysTask.query.filter_by(responsible_id=responsible_id).filter(SysTask.parent_id == None)
tasks = query.paginate(page=page, per_page=per_page)

# 处理查询结果
result = {
    'total': tasks.total,
    'pages': tasks.pages,
    'current_page': tasks.page,
    'per_page': tasks.per_page,
    'tasks': []
}

for task in tasks.items:
    # 处理任务数据
    task_data = {
        'id': task.id,
        'responsible_id': task.responsible_id,
        # 其他任务属性
    }
    result['tasks'].append(task_data)

# 返回结果
return result

注意:在上述示例代码中,request.args.get() 方法用于获取请求参数,paginate() 方法用于分页查询。你可以根据实际情况调整代码。

Flask 使用 SQLAlchemy 分页查询最高级任务示例

原文地址: https://www.cveoy.top/t/topic/pgsi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录