diff --git a/.gitignore b/.gitignore index 57cf1b7b..51a9ca1d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.pyc .*.swp +*.egg docs/.build docs/_build build/ diff --git a/mongoengine/base.py b/mongoengine/base.py index 0f4c7284..9505d416 100644 --- a/mongoengine/base.py +++ b/mongoengine/base.py @@ -257,7 +257,7 @@ class TopLevelDocumentMetaclass(DocumentMetaclass): new_class = super_new(cls, name, bases, attrs) # Provide a default queryset unless one has been manually provided - if not 'objects' in dir(new_class): + if not hasattr(new_class, 'objects'): new_class.objects = QuerySetManager() user_indexes = [QuerySet._build_index_spec(new_class, spec) @@ -418,11 +418,8 @@ class BaseDocument(object): self._meta.get('allow_inheritance', True) == False): data['_cls'] = self._class_name data['_types'] = self._superclasses.keys() + [self._class_name] - try: - if not data['_id']: - del data['_id'] - except KeyError: - pass + if data.has_key('_id') and not data['_id']: + del data['_id'] return data @classmethod