Fixed #27385 -- Fixed QuerySet.bulk_create() on PostgreSQL when the number of objects is a multiple plus one of batch_size.

This commit is contained in:
David Barragán Merino 2016-10-25 16:51:45 +02:00 committed by Tim Graham
parent a9d1d95284
commit b3bd3aa07c
3 changed files with 16 additions and 6 deletions

View file

@ -1052,9 +1052,9 @@ class QuerySet(object):
for item in [objs[i:i + batch_size] for i in range(0, len(objs), batch_size)]:
if connections[self.db].features.can_return_ids_from_bulk_insert:
inserted_id = self._insert(item, fields=fields, using=self.db, return_id=True)
if len(objs) > 1:
if isinstance(inserted_id, list):
inserted_ids.extend(inserted_id)
if len(objs) == 1:
else:
inserted_ids.append(inserted_id)
else:
self._insert(item, fields=fields, using=self.db)