更新于 

Flask

SQLAlchemy

flush && refresh

一般将数据提交到数据库分2步:

  1. db.session.add(data)
    数据添加到缓冲区
  2. db.session.commit()
    提交事务,关闭会话

但是如果希望将数据提交到数据库后,
再立即将此条数据从数据库拽出来,
可是使用flush的方式:

1
2
3
4
5
6
7
8
# 对象添加到数据库会话
db.session.add(result)
# 数据提交到数据库但不关闭会话
db.session.flush()
# 手动刷新对象
db.session.refresh(result)
# 提交事务
db.session.commit()