我有一个Django数据库事务(使用@transaction.atomic
)创建数千个模型并保存每个模型。当我记录SQL语句时,我看到每个INSERT INTO
语句都包含如下:
SAVEPOINT "..."; args=None
INSERT INTO ...
RELEASE SAVEPOINT "..."; args=None
我怀疑我的代码有两个@atomic
装饰器 - 一个围绕外部函数,另一个围绕创建数千个模型中的每一个的函数,但是没有 - 我发现整个中只有一个对transaction.atomic的引用代码。
为什么会这样?