У меня есть 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 }}
, который показывает список с ролями внутри.