Fixed possible issue not catching duplicate key errors

This commit is contained in:
Ross Lawley 2014-01-24 13:50:09 +00:00
parent a839bd428f
commit 0e5a0661e1

View File

@ -302,8 +302,11 @@ class BaseQuerySet(object):
signals.pre_bulk_insert.send(self._document, documents=docs)
try:
ids = self._collection.insert(raw, **write_concern)
except pymongo.errors.DuplicateKeyError, err:
message = 'Could not save document (%s)';
raise NotUniqueError(message % unicode(err))
except pymongo.errors.OperationFailure, err:
message = 'Could not save document (%s)'
message = 'Could not save document (%s)';
if re.match('^E1100[01] duplicate key', unicode(err)):
# E11000 - duplicate key error index
# E11001 - duplicate key on update