diff --git a/mongoengine/document.py b/mongoengine/document.py index b671ac6b..84c1d699 100644 --- a/mongoengine/document.py +++ b/mongoengine/document.py @@ -808,7 +808,7 @@ class Document(six.with_metaclass(TopLevelDocumentMetaclass, BaseDocument)): db.drop_collection(col_name) @classmethod - def _create_index(cls, keys, background=False, **kwargs): + def create_index(cls, keys, background=False, **kwargs): """Creates the given indexes if required. :param keys: a single index key or a list of index keys (to @@ -851,7 +851,7 @@ class Document(six.with_metaclass(TopLevelDocumentMetaclass, BaseDocument)): warnings.warn(msg, DeprecationWarning) elif not IS_PYMONGO_3: kwargs.update({'drop_dups': drop_dups}) - return cls._create_index(key_or_list, background=background, **kwargs) + return cls.create_index(key_or_list, background=background, **kwargs) @classmethod def ensure_indexes(cls): diff --git a/tests/document/indexes.py b/tests/document/indexes.py index 36fbae46..abd349f3 100644 --- a/tests/document/indexes.py +++ b/tests/document/indexes.py @@ -611,7 +611,11 @@ class IndexesTest(unittest.TestCase): with self.assertRaises(OperationFailure) as ctx_err: Blog(id='garbage').save() - self.assertIn("The field 'unique' is not valid for an _id index specification", str(ctx_err.exception)) + try: + self.assertIn("The field 'unique' is not valid for an _id index specification", str(ctx_err.exception)) + except AssertionError: + # error is slightly different on python 3.6 + self.assertIn("The field 'background' is not valid for an _id index specification", str(ctx_err.exception)) @requires_mongodb_lte_32 def test_primary_key_unique_working_under_mongo_32(self):