报错如下:
sqlalchemy.exc.ArgumentError: relationship 'adminlog' expects a class or a mapper argument (received: <class 'sqlalchemy.sql.schema.ForeignKey'>)
实体代码如下:
# 管理员
class Admin(db.Model):
__tablename__ = "admin"
__table_args__ = {"useexisting": True}
id = db.Column(db.Integer, primary_key=True) # 编号
name = db.Column(db.String(100), unique=True) # 名称
pwd = db.Column(db.String(100), ) # 密码
role_id = db.Column(db.Integer, db.ForeignKey('role.id')) # 所属角色
is_super = db.Column(db.SmallInteger) # 是否是超级管理员
addtime = db.Column(db.DateTime, index=True, default=datetime.utcnow) # 增加时间
adminlog = db.relationship(db.ForeignKey('AdminLog', backref='admin')) #管理员日志
operlog = db.relationship(db.ForeignKey('OperLog', backref='admin')) #操作日志
def __repr__(self):
return "<Admin %r>" % self.id
# 管理员登录日志
class AdminLog(db.Model):
__tablename__ = "adminlog"
__table_args__ = {"useexisting": True}
id = db.Column(db.Integer, primary_key=True) # 编号
admin_id = db.Column(db.Integer, db.ForeignKey('admin.id')) # 所属管理员
ip = db.Column(db.String(100)) # 登录IP
addtime = db.Column(db.DateTime, index=True, default=datetime.utcnow) # 增加时间
def __repr__(self):
return "<AdminLog %r>" % self.id
# 操作日志
class OperLog(db.Model):
__tablename__ = "OperLog"
__table_args__ = {"useexisting": True}
id = db.Column(db.Integer, primary_key=True) # 编号
admin_id = db.Column(db.Integer, db.ForeignKey('admin.id')) # 所属管理员
ip = db.Column(db.String(100)) # IP
reason = db.Column(db.String(600)) # 原因
addtime = db.Column(db.DateTime, index=True, default=datetime.utcnow) # 增加时间
def __repr__(self):
return "<OperLog %r>" % self.id没有看到哪写的有问题,请老师指教。