From 620f4a222ea8c3d0177a741e234223909f433555 Mon Sep 17 00:00:00 2001 From: Vincent Driessen Date: Tue, 14 Dec 2010 02:01:25 -0800 Subject: [PATCH] Don't check for DO_NOTHING in the delete rule registration method. It is already checked before it is invoked. This saves the ugly import of DO_NOTHING inside document.py. --- mongoengine/base.py | 3 ++- mongoengine/document.py | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/mongoengine/base.py b/mongoengine/base.py index 9f8c1e7b..42db460f 100644 --- a/mongoengine/base.py +++ b/mongoengine/base.py @@ -1,5 +1,6 @@ from queryset import QuerySet, QuerySetManager from queryset import DoesNotExist, MultipleObjectsReturned +from queryset import DO_NOTHING import sys import pymongo @@ -190,7 +191,7 @@ class DocumentMetaclass(type): new_class = super_new(cls, name, bases, attrs) for field in new_class._fields.values(): field.owner_document = new_class - if hasattr(field, 'delete_rule') and field.delete_rule: + if hasattr(field, 'delete_rule') and field.delete_rule > DO_NOTHING: field.document_type.register_delete_rule(new_class, field.name, field.delete_rule) diff --git a/mongoengine/document.py b/mongoengine/document.py index 504e14eb..e64092e8 100644 --- a/mongoengine/document.py +++ b/mongoengine/document.py @@ -1,6 +1,6 @@ from base import (DocumentMetaclass, TopLevelDocumentMetaclass, BaseDocument, ValidationError) -from queryset import OperationError, DO_NOTHING +from queryset import OperationError from connection import _get_db import pymongo @@ -105,9 +105,6 @@ class Document(BaseDocument): """This method registers the delete rules to apply when removing this object. """ - if rule == DO_NOTHING: - return - cls._meta['delete_rules'][(document_cls, field_name)] = rule