这是一个创建于 1772 天前的主题,其中的信息可能已经有所发展或是发生改变。
以下代码片段,提供的参数要求具有唯一性,所以最后一条肯定插入失败,但是前两条却成功了。
想要的效果是,把这三个插入最为一个事务呢,要么全成功要么全失败
try:
db.session.add(Order("a1"))
db.session.add(Order("a2"))
db.session.add(Order("a2"))
db.session.commit()
except Exception as e:
db.session.rollback()
raise e
4 条回复 • 2019-12-23 11:11:41 +08:00
|
|
1
Latin 2019-12-17 09:22:48 +08:00
db.session.add(Order("a1"),Order("a2"),Order("a2")) ?
|
|
|
3
Latin 2019-12-17 16:47:58 +08:00
|
|
|
4
kayseen 2019-12-23 11:11:41 +08:00
测试了一下,就算你不用 add_all, 比如 a1 和 a2 正常, a3 有问题, 那么在你最后 commit 的时候, 前面的也并不会成功提交
|