Я использую Flask-Admin для управления моим CRUD.
В моем приложении три роли: суперпользователь , оператор и клиент .
В этом приложении операторы должны попросить суперпользователя зарегистрировать свою учетную запись, изменить свои данные и другие.
Но для клиента, который не считает номера, я хочу, чтобы он мог зарегистрировать свою учетную запись или отредактировать информацию своей учетной записи самостоятельно.
На данный момент клиент может зарегистрироваться самостоятельно, но теперь я хочу, чтобы клиент мог редактировать свою информацию индивидуально без использования суперпользователя.
Пока что я могу редактировать информацию об учетной записи с помощью superuser , как на этом снимке экрана:
Итак, на данный момент я хочу, чтобы клиент мог редактировать свое имя, адрес электронной почты, пароль или другую информацию самостоятельно, а также разделять свои данные с другими клиентами.
Вот фрагмент моей модели:
roles_users = db.Table(
'roles_users',
db.Column('user_id', db.Integer(), db.ForeignKey('user.id')),
db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))
)
class Role(db.Model, RoleMixin):
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(80), unique=True)
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(255), unique=True)
password = db.Column(db.String(255))
roles = db.relationship('Role', secondary=roles_users,
backref=db.backref('users', lazy='dynamic'))
class Operator(User):
__tablename__ = 'operator'
id = db.Column(db.Integer(), primary_key=True)
user_id = db.Column(db.Integer(), db.ForeignKey('user.id'))
class Client(User):
__tablename__ = 'client'
id = db.Column(db.Integer(), primary_key=True)
user_id = db.Column(db.Integer(), db.ForeignKey('user.id'))
Итак, как это сделать с Flask-Admin ..?