要获取用户的责任任务和执行任务,可以通过以下步骤进行操作:

  1. 在任务表中添加两个外键字段,分别关联到用户表的负责人和执行人字段。可以在任务表中添加如下字段:
from flask_sqlalchemy import SQLAlchemy
from flask_login import UserMixin

db = SQLAlchemy()

class User(db.Model, UserMixin):
    # 用户表模型

    __tablename__ = 'users'
    
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    # 其他用户表字段...

class Task(db.Model):
    # 任务表模型

    __tablename__ = 'tasks'
    
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    responsible_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    executor_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    # 其他任务表字段...

    responsible = db.relationship('User', foreign_keys=[responsible_id])
    executor = db.relationship('User', foreign_keys=[executor_id])
  1. 在用户模型中添加两个反向引用字段,分别表示用户的责任任务和执行任务。可以在用户模型中添加如下字段:
class User(db.Model, UserMixin):
    # 用户表模型

    __tablename__ = 'users'
    
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    # 其他用户表字段...

    responsible_tasks = db.relationship('Task', backref='responsible', foreign_keys=[Task.responsible_id])
    executor_tasks = db.relationship('Task', backref='executor', foreign_keys=[Task.executor_id])
  1. 现在可以通过用户对象的responsible_tasks属性和executor_tasks属性来获取用户的责任任务和执行任务。例如:
# 获取用户的责任任务
user = User.query.get(user_id)
responsible_tasks = user.responsible_tasks

# 获取用户的执行任务
user = User.query.get(user_id)
executor_tasks = user.executor_tasks

这样就可以通过用户表的负责人和执行人字段,将用户和任务表关联起来,并获取用户的责任任务和执行任务了。

Python Flask 任务表关联用户表:获取用户的责任任务和执行任务

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

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