summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSjoerd Job Postmus <sjoerdjob@sjec.nl>2016-08-05 23:57:55 +0200
committerTim Graham <timograham@gmail.com>2016-08-06 10:24:57 -0400
commit3246d2b4bb981a8d782a349a99e9b89206028cee (patch)
tree211362f1af89a89574b86eb5849f8d8b2af20f78 /django
parentfc8f097117af7ada616fad20ae5b417fcf740413 (diff)
Fixed #27026 -- Fixed state initialization of bulk_create() objects if can_return_ids_from_bulk_insert.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/query.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/db/models/query.py b/django/db/models/query.py
index 05f6ed370d..07f1fc414f 100644
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -452,8 +452,10 @@ class QuerySet(object):
ids = self._batched_insert(objs_without_pk, fields, batch_size)
if connection.features.can_return_ids_from_bulk_insert:
assert len(ids) == len(objs_without_pk)
- for i in range(len(ids)):
- objs_without_pk[i].pk = ids[i]
+ for obj_without_pk, pk in zip(objs_without_pk, ids):
+ obj_without_pk.pk = pk
+ obj_without_pk._state.adding = False
+ obj_without_pk._state.db = self.db
return objs