From 0e5a0661e1eb1df6f0d36046e2319f2a61b6ece7 Mon Sep 17 00:00:00 2001 From: Ross Lawley Date: Fri, 24 Jan 2014 13:50:09 +0000 Subject: [PATCH] Fixed possible issue not catching duplicate key errors --- mongoengine/queryset/base.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mongoengine/queryset/base.py b/mongoengine/queryset/base.py index d57021fe..c2ad027e 100644 --- a/mongoengine/queryset/base.py +++ b/mongoengine/queryset/base.py @@ -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