Django bulk_update更新和bulk_create

bulk_update  的参数有三个

① objs 你要更新的数据列表

②fields 执行查询的数据字段,也可以理解为你要更新的数据字段

③batch_size 要在单个数据库查询中保存的对象数。它是一个可选参数。默认情况下,更新并保存所有对象。

语法

 

bulk_update(objs, fields, batch_size=None)¶

 

举个例子

update_queries = []

a = posts.objects.get(id=14)  # 获取id为14的数据
b = posts.objects.get(id=15)  # 获取id为15的数据
c = posts.objects.get(id=16)  # 获取id为16的数据

#set update value
a.title="Hello python updated"  #要更新id为14的title值
b.title="Hello django updated"  #要更新id为15的title值
c.title="Hello bulk updated"    #要更新id为16的title值

#append
update_queries.extend((a, b, c))  #在update_queries列表中的尾部添加abc三个值

posts.objects.bulk_update(update_queries, ['title']) 批量更新 这里的update_queries就是objs,fields就是['title']

bulk_create

举个例子

models.py
class posts(models.Model):
        title = models.Charfield()
        
        def __str__(self):
            return self.title

假设我们想在上面这个模型中批量新增三个不同的数据

articles = [post(title='123'),post(title='456'),post(title='789')]

posts.objects.bulk_create(articles)

 

 

 

 

posted @ 2022-06-22 17:35  非非非常帅的辰  阅读(3017)  评论(0编辑  收藏  举报