Django 批量插入与更新

批量插入

若是主键重复,则整个插入操作都不生效,无法像mongodb那样忽略重复主键的数据。

from .models import my_model
import random
def my_bulk_insert():
    name_list=['小凉太','片寄','片寄凉太']
    item_list=my_model.objects.all()
    for i in item_list:
        i.name=random.choice(name_list)
    my_models.bulk_create(item_list)

批量更新

只与数据库进行一次通讯就完成所有更新,关于Django数据库的事务(Transaction)参考官方文档
代码参考链接

from django.db import transaction
from .models import my_model
import random
def my_bulk_update():
    with transaction.atomic():
        my_model.num=random.randint(0,10)
        my_model.save()

你可能感兴趣的:(Django 批量插入与更新)