关于 peewee 事务的问题

2021-05-11 13:23:25 +08:00
 tianxin8431

想请教老哥们一个问题,

with Ext.db.atomic():
            ...
            BranchInfo.insert(branch_id=branch_id, school_id=school_id,
                            branch_name=branch_name, branch_type=branch_type, person_count=person_count).execute()
            SchoolInfo.update(person_count=SchoolInfo.person_count +
                            person_count).where(SchoolInfo.school_id == school_id).execute()
            Statistics.insert(branch_or_school_id=branch_id, issue_no=issue_no).execute()

我用 peewee 的事务写库的时候,会出现很奇怪的现象,似乎会存在只写了Statistics表,而另外两个表没有写入的情况,再写一次就提示重复的 index (我在字段branch_or_school_id上加了 unique )。想问下老哥们,为什么会出现这种情况呢?

631 次点击
所在节点    问与答
2 条回复
ebingtel
2021-05-11 13:56:05 +08:00
那确定这三个 Model class 用的是同一个 db 对象么?
sql 语句的日志打出来看看呢?
tianxin8431
2021-05-11 19:12:36 +08:00
@ebingtel 是同一个 db 对象,蛋疼的就是用阿里云之后没法查 log

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776218

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX