Dica 18 - bulk_create e bulk_update

bulk_create

O bulk_create serve para inserir uma grande quantidade de dados num banco de forma super rápida.

Vamos usar o

python manage.py shell_plus

Primeiro vamos criar uns dados aleatórios

import secrets
import string

N = 12
list_items = []

for i in range(100):
    res = ''.join(secrets.choice(string.ascii_lowercase) for i in range(N))
    list_items.append(res)

Agora vamos inserir os dados com bulk_create

aux = []
for item in list_items:
    obj = Article(title=item, subtitle=item)
    aux.append(obj)

Article.objects.bulk_create(aux)

bulk_update

Como o nome já diz, o bulk_update serve para atualizar os dados.

articles = Article.objects.all()
category = Category.objects.first()
for article in articles:
    article.category = category

Article.objects.bulk_update(articles, ['category'])

Last updated