我想使用主键获取对象,更新对象并返回它。我看到的示例显示我要更新每个字段。像这样:
blog_post = session.query(BlogPost).get(blog_post_id)
blog_post.name = 'something'
blog_post.author = 'something'
session.commit()
问题是我有多个字段。我不喜欢像上面那样更新每个字段。我知道我可以这样做:
session.query(BlogPost).filter(blog_post_id).update(data)
session.commit()
但我想要更新的对象,我不想再次查询。理想情况下,我想要这样的事情(以下没有工作,sqlalchemy对象没有update
方法):
blog_post = session.query(BlogPost).get(blog_post_id)
blog_post.update(data)
session.commit()
我能做的是,我可以查询和更新。然后,再次获取对象。或者我可以使用for
循环并更新每个字段。但有些东西告诉我它应该已经存在于sqlalchemy中。