Иметь собственный первичный ключ для users.id в flask -security - PullRequest
0 голосов
/ 28 января 2020

Я хочу иметь пользовательский ключ для идентификатора поля, например, id_user, я попробовал следующее

class UserModel(db.model, UserMixin)
...
        @property
        def id(self):
            return self.id_user

, но не смог заставить его работать. Когда я пытаюсь войти, он отправляет мне это сообщение:

{
"message": "You don't have the permission to access the requested resource. It is either read-protected or not readable by the server."
}

1 Ответ

0 голосов
/ 30 марта 2020

У меня получилось неприятное решение. Я клонировал объект UserModel, добавил дублированное поле для id с нужным мне настраиваемым ключом и сказал Flask -Безопасность использовать этот объект в качестве UserModel Это код функции, который я использовал:

def clone_model(model):
data = model
attr = getattr(model, "id_user")
setattr(data, "id", attr)
return data

cUserModel = clone_model(UserModel)
user_datastore = SQLAlchemyUserDatastore(db, cUserModel, Roles)

security = Security(app, user_datastore)

Надеюсь, кто-нибудь найдет это полезным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...