Flask REST - ОБНОВЛЕНИЕ пользовательской модели - PullRequest
0 голосов
/ 10 мая 2018

Я строю REST API с авторизацией JWT, абстрагируя пользовательскую модель. Итак, вот некоторые функции, которые я определил в своем определении пользовательской модели:

def save_to_db(self):
    db.session.add(self)
    db.session.commit()

def update_db(self):
    db.session.commit()

def delete_from_db(self):
    db.session.delete(self)
    db.session.commit()

и вот методы:

@jwt_required()
    def get(self):
        user = UserModel.find_by_email(current_identity.email)
        if user:
            return user.json(), 200
        return {'message': 'User not found'}, 400

    def post(self):
        data = UserRegister.parser.parse_args()

        if UserModel.find_by_email(data['email']):
            return {"message": "User already exists"}, 400

        user = UserModel(**data)
        user.save_to_db()

        return user.json(), 200

    @jwt_required()
    def put(self):
        user = UserModel.find_by_email(current_identity.email)
        if user:
            data = UserRegister.parser.parse_args()
            try:
                user = UserModel(**data)
                user.update_db()
                return user.json(), 200
            except:
                return {'message': 'An error ocurred while inserting user data.'}, 400

Все работает, кроме метода PUT. Это не хранит фактическое значение в базе данных, мне интересно, почему.

...