随笔 - 192,  文章 - 1,  评论 - 6,  阅读 - 51476
一、第一步,导入bulk_update包
from bulk_update.helper import bulk_update
二、写一个类
class CommonQuerySet(models.QuerySet):

def bulk_update(self, objs, update_fields=None,
exclude_fields=None, batch_size=None):
self._for_write = True
using = self.db

return bulk_update(
objs, update_fields=update_fields,
exclude_fields=exclude_fields, using=using,
batch_size=batch_size)

  

三、第三步,在需要使用批量更新的model类中,添加一行代码
1
2
3
4
5
6
class Track(models.Model):
    album = models.ForeignKey(Album, related_name='tracks', on_delete=models.CASCADE)
    order = models.IntegerField()
    title = models.CharField(max_length=100)
    duration = models.IntegerField()
     objects =CommonQuerySet.as_manager() <br>  <br><br>  class Meta: <br>    unique_together = ('album', 'order') ordering = ['order']

  

方法二:

第一步导入包
from django_bulk_update.helper import bulk_update
第二步使用
复制代码
        prescription_item_objs = []
        for prescription_item_list in prescription_item_data:
            for i in prescription_item_list:
                prescription_dic[i.get('id')] = i.get('weight')
        for i in prescription_item_qs:
            i.weight = prescription_dic.get(i.id)
            prescription_item_objs.append(i)
        print(prescription_item_objs)
        bulk_update(
            prescription_item_objs, update_fields=['weight',]
        )
复制代码

 







posted on   輪滑少年  阅读(6190)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示