Flask REST - 更新用户模型

时间:2018-05-10 04:52:42

标签: rest flask sqlalchemy

我正在使用JWT授权构建一个REST api来抽象用户模型。所以这些是我在用户模型定义中定义的一些函数:

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方法外,一切正常。它不会将实际值存储在数据库中,我想知道为什么。

0 个答案:

没有答案