django bulk update queryset code example
Example: django bulk update
objs = [
Entry.objects.create(headline='Entry 1'),
Entry.objects.create(headline='Entry 2'),
]
objs[0].headline = 'This is entry 1'
objs[1].headline = 'This is entry 2'
Entry.objects.bulk_update(objs, ['headline'])
# Caveats #
# -You cannot update the model’s primary key.
#
# -Each model’s save() method isn’t called, and the pre_save and post_save signals aren’t
# sent.
#
# -If updating a large number of columns in a large number of rows, the SQL
# generated can be very large. Avoid this by specifying a suitable batch_size.
#
# - Updating fields defined on multi-table inheritance ancestors will incur an extra query per ancestor.
# If objs contains duplicates, only the first one is updated.