def ref_klass(self): """ Reference the object return: the object of self's Reference """ from mongoengine.document import Document, EmbeddedDocument if self.ref: _known_models = {} for klass in Document.__subclasses__(): if hasattr(klass, "objects"): _known_models[klass.__name__] = klass for sub in klass.__subclasses__(): if hasattr(sub, "objects"): _known_models[sub.__name__] = sub for _sub in sub.__subclasses__(): if hasattr(_sub, "objects"): _known_models[_sub.__name__] = _sub return _known_models.get(self.ref, None)