Peewee中的get_or_create
在peewee的文档中,有一段标题为获取或创建的内容提到:
虽然peewee有一个叫
get_or_create()
的方法,但实际上不应该在测试以外的地方使用,因为它容易出现竞争条件。使用peewee进行获取或创建的正确方法是依靠数据库来强制执行约束。
接下来,它给了一个例子,只展示了创建的部分,而没有展示获取的部分。
那么,使用peewee进行获取或创建的最佳方法是什么呢?
1 个回答
2
你在一个事务里面做的所有事情都是原子的,也就是说,要么全部成功,要么全部失败。
只要你在事务中调用 get_or_create()
,那么前面那段话就是错的。