update input document ids during bulk insert #1919

This commit is contained in:
Bastien Gérard
2018-10-16 22:19:41 +02:00
parent b0148e7860
commit 4939a7dd7c
3 changed files with 100 additions and 53 deletions

View File

@@ -372,14 +372,17 @@ class BaseQuerySet(object):
raise NotUniqueError(message % six.text_type(err))
raise OperationError(message % six.text_type(err))
# Apply inserted_ids to documents
for doc, doc_id in zip(docs, ids):
doc.pk = doc_id
if not load_bulk:
signals.post_bulk_insert.send(
self._document, documents=docs, loaded=False, **signal_kwargs)
return ids[0] if return_one else ids
documents = self.in_bulk(ids)
results = []
for obj_id in ids:
results.append(documents.get(obj_id))
results = [documents.get(obj_id) for obj_id in ids]
signals.post_bulk_insert.send(
self._document, documents=results, loaded=True, **signal_kwargs)
return results[0] if return_one else results