Add BulkWriteError exception
This commit is contained in:
parent
e86cf962e9
commit
a06e605e67
@ -12,6 +12,7 @@ __all__ = (
|
|||||||
"InvalidQueryError",
|
"InvalidQueryError",
|
||||||
"OperationError",
|
"OperationError",
|
||||||
"NotUniqueError",
|
"NotUniqueError",
|
||||||
|
"BulkWriteError",
|
||||||
"FieldDoesNotExist",
|
"FieldDoesNotExist",
|
||||||
"ValidationError",
|
"ValidationError",
|
||||||
"SaveConditionError",
|
"SaveConditionError",
|
||||||
@ -51,6 +52,10 @@ class NotUniqueError(OperationError):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class BulkWriteError(OperationError):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class SaveConditionError(OperationError):
|
class SaveConditionError(OperationError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ from mongoengine.common import _import_class
|
|||||||
from mongoengine.connection import get_db
|
from mongoengine.connection import get_db
|
||||||
from mongoengine.context_managers import set_write_concern, switch_db
|
from mongoengine.context_managers import set_write_concern, switch_db
|
||||||
from mongoengine.errors import (
|
from mongoengine.errors import (
|
||||||
|
BulkWriteError,
|
||||||
InvalidQueryError,
|
InvalidQueryError,
|
||||||
LookUpError,
|
LookUpError,
|
||||||
NotUniqueError,
|
NotUniqueError,
|
||||||
@ -356,7 +357,7 @@ class BaseQuerySet(object):
|
|||||||
# inserting documents that already have an _id field will
|
# inserting documents that already have an _id field will
|
||||||
# give huge performance debt or raise
|
# give huge performance debt or raise
|
||||||
message = u"Bulk write error: (%s)"
|
message = u"Bulk write error: (%s)"
|
||||||
raise NotUniqueError(message % six.text_type(err.details))
|
raise BulkWriteError(message % six.text_type(err.details))
|
||||||
except pymongo.errors.OperationFailure as err:
|
except pymongo.errors.OperationFailure as err:
|
||||||
message = "Could not save document (%s)"
|
message = "Could not save document (%s)"
|
||||||
if re.match("^E1100[01] duplicate key", six.text_type(err)):
|
if re.match("^E1100[01] duplicate key", six.text_type(err)):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user