简体   繁体   English

Flask RESTful API放置错误

[英]Flask RESTful api put error

I have a Post model as follows - 我有一个邮政模型如下-

class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    likes = db.Column(db.Integer)
    body = db.Column(db.Text)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __init__(self, body, user_id):
        self.likes = 0
        self.body = body
        self.user_id = user_id

I am unable to update objects using the PUT request. 我无法使用PUT请求更新对象。 Here is my code - 这是我的代码-

class UserPost(Resource):
    def get(self, post_id):
        print(post_id)
        return marshal(Post.query.get(post_id), post_fields)

    def put(self, post_id):
        post = Post.query.get_or_404(post_id)
        args = post_parser.parse_args()
        print args
        for k, v in args.iteritems():
            if v is not None:
                post.__dict__[k] = v

                db.session.add(post)
                db.session.commit()
        return marshal(post, post_fields)

The Post object is not updated. Post对象未更新。

而不是手动更新post.__dict__使用setattr

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM