【发布时间】:2020-05-16 09:32:09
【问题描述】:
在我的 Web 应用程序中,用户和工作人员可以登录,我有 2 种不同的模型供他们使用。但是,当我尝试为工作模型创建 user_loader 方法时,我收到错误
这是我的代码
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))
@login_manager.worker_loader
def load_worker(worker_id):
return Worker.query.get(int(user_id))
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
fname = db.Column(db.String(30), nullable=False)
lname = db.Column(db.String(30), nullable=False)
phone = db.Column(db.String(11), unique=True, nullable=False)
email = db.Column(db.String(25), unique=True, nullable=False)
location = db.Column(db.String(15), nullable=False)
password = db.Column(db.String(60), nullable=False)
mode = db.Column(db.String(10), nullable=False, default='User')
address = db.relationship('Address', backref='user_address', lazy=True)
workorder = db.relationship('JobLog', backref='order', lazy=True)
class Worker(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
fname = db.Column(db.String(30), nullable=False)
lname = db.Column(db.String(30), nullable=False)
phone = db.Column(db.String(11), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
location = db.Column(db.String(15), nullable=False)
job = db.Column(db.String(20), nullable=False)
description = db.Column(db.Text, nullable=False,
default='Insert your personal description here')
image = db.Column(db.String(20), nullable=False, default='default.jpg')
password = db.Column(db.String(60), nullable=False)
mode = db.Column(db.String(10), nullable=False, default='Worker')
active = db.Column(db.Boolean, nullable=False, default=False)
workrequest = db.relationship('JobLog', backref='request', lazy=True)
【问题讨论】:
标签: python flask-sqlalchemy flask-login