Peewee中的get_or_create

2 投票
1 回答
2795 浏览
提问于 2025-04-29 03:35

在peewee的文档中,有一段标题为获取或创建的内容提到:

虽然peewee有一个叫get_or_create()的方法,但实际上不应该在测试以外的地方使用,因为它容易出现竞争条件。使用peewee进行获取创建的正确方法是依靠数据库来强制执行约束。

接下来,它给了一个例子,只展示了创建的部分,而没有展示获取的部分。

那么,使用peewee进行获取或创建的最佳方法是什么呢?

暂无标签

1 个回答

2

你在一个事务里面做的所有事情都是原子的,也就是说,要么全部成功,要么全部失败。

只要你在事务中调用 get_or_create(),那么前面那段话就是错的。

撰写回答