您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

from django.db import transaction

with 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() 所有插入,将它们分组为一个事务。提交事务所需的时间在所有随附的插入语句中摊销,因此每个插入语句的时间大大减少。

Go 2022/1/1 18:41:46 有357人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶