Skip to content

Bulk operations

If you have a list of objects to create, update or delete, you can use bulk operations to perform these actions in a single query. To do that, gather your objects in a list and call the appropriate method on the QuerySet object.

Note

Please note that bulk operations do not trigger hooks.

Bulk create

from models.user.person import Person

persons = [
    Person(name="John", age=25),
    Person(name="Bob", age=30),
    Person(name="Alice", age=35),
]

Person.objects.bulk_create(persons)

Bulk update

from models.user.person import Person

persons = Person.objects.filter(name__in=["John", "Bob", "Alice"]).execute()

for person in persons:
    person.age += 1

Person.objects.bulk_update(persons)

Bulk delete

from models.user.person import Person

persons = Person.objects.filter(name__in=["John", "Bob", "Alice"]).execute()

Person.objects.bulk_delete(persons)