在Django中一次更新多个对象?

在Django中一次更新多个对象?,第1张

在Django中一次更新多个对象?

原子事务可以减少在循环中花费的时间:

from django.db import transactionwith transaction.atomic():    for i, row in df.iterrows():        mv = Measurevalue.objects.get(org=row.org, month=month)        if (row.percentile is None) or np.isnan(row.percentile):  # if it's already None, why set it to None? row.percentile = None        mv.percentile = row.percentile        mv.save()

Django的默认行为是在自动提交模式下运行。除非事务处于活动状态,否则每个查询都会立即提交到数据库。

通过使用

with transaction.atomic()

所有插入,将它们分组为一个事务。提交事务所需的时间在所有随附的插入语句中摊销,因此每个插入语句的时间大大减少。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5675028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存