我有3个关于用户及其角色的数据库模型。我正在尝试获取一个为特定用户打印角色的字符串,以便可以在管理面板中查看和修改它。
class User(db.Model, UserMixin):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(15), unique=True, nullable=False)
email = db.Column(db.String(30), unique=True, nullable=False)
email_confirmed_at = db.Column(db.DateTime(), default=datetime.utcnow)
password = db.Column(db.String(60), nullable=False)
roles = db.relationship('Role', secondary='user_roles')
comments = db.relationship('Comment', backref = 'user', lazy= 'dynamic')
def __repr__(self):
return f"User('{self.username}', '{self.email}')"
class Role(db.Model):
__tablename__ = 'roles'
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(50), unique=True)
class UserRoles(db.Model):
__tablename__ = 'user_roles'
id = db.Column(db.Integer(), primary_key=True)
user_id = db.Column(db.Integer(), db.ForeignKey('users.id', ondelete='CASCADE'))
role_id = db.Column(db.Integer(), db.ForeignKey('roles.id', ondelete='CASCADE'))
在我的模板中,我尝试了{{ user.roles }}
,其中显示了一个内部包含角色的列表。