change to try to address issues due to new save() behaviour, not satisfying, some tests are still failing
This commit is contained in:
		| @@ -1,11 +1,8 @@ | |||||||
| import warnings |  | ||||||
|  |  | ||||||
| import hashlib |  | ||||||
| import pymongo | import pymongo | ||||||
| import re | import re | ||||||
|  |  | ||||||
| from pymongo.read_preferences import ReadPreference | from pymongo.read_preferences import ReadPreference | ||||||
| from bson import ObjectId |  | ||||||
| from bson.dbref import DBRef | from bson.dbref import DBRef | ||||||
| from mongoengine import signals | from mongoengine import signals | ||||||
| from mongoengine.common import _import_class | from mongoengine.common import _import_class | ||||||
| @@ -19,7 +16,7 @@ from mongoengine.base import ( | |||||||
|     ALLOW_INHERITANCE, |     ALLOW_INHERITANCE, | ||||||
|     get_document |     get_document | ||||||
| ) | ) | ||||||
| from mongoengine.errors import ValidationError, InvalidQueryError, InvalidDocumentError | from mongoengine.errors import InvalidQueryError, InvalidDocumentError | ||||||
| from mongoengine.queryset import (OperationError, NotUniqueError, | from mongoengine.queryset import (OperationError, NotUniqueError, | ||||||
|                                   QuerySet, transform) |                                   QuerySet, transform) | ||||||
| from mongoengine.connection import get_db, DEFAULT_CONNECTION_NAME | from mongoengine.connection import get_db, DEFAULT_CONNECTION_NAME | ||||||
| @@ -296,7 +293,12 @@ class Document(BaseDocument): | |||||||
|  |  | ||||||
|         doc = self.to_mongo() |         doc = self.to_mongo() | ||||||
|  |  | ||||||
|  |         # I think the self._created flag is not necessarily required in PyMongo3 | ||||||
|  |         # but may cause test test_collection_name_and_primary to fail | ||||||
|  |         if pymongo.version_tuple[0] < 3: | ||||||
|             created = ('_id' not in doc or self._created or force_insert) |             created = ('_id' not in doc or self._created or force_insert) | ||||||
|  |         else: | ||||||
|  |             created = ('_id' not in doc or force_insert) | ||||||
|  |  | ||||||
|         signals.pre_save_post_validation.send(self.__class__, document=self, |         signals.pre_save_post_validation.send(self.__class__, document=self, | ||||||
|                                               created=created) |                                               created=created) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user