From 9ce605221a5dc1e43f65c57d80046cc995a34c69 Mon Sep 17 00:00:00 2001 From: amitlicht Date: Sun, 28 Jun 2015 17:53:20 +0300 Subject: [PATCH] Suggested fix for #1047: CachedReferenceField creates DBRef on to_python, but can't save them on to_mongo. Dereferencing DBRef to document type before returning it from to_python. --- mongoengine/fields.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mongoengine/fields.py b/mongoengine/fields.py index bc16d1b6..63c708b2 100644 --- a/mongoengine/fields.py +++ b/mongoengine/fields.py @@ -1034,6 +1034,7 @@ class CachedReferenceField(BaseField): collection = self.document_type._get_collection_name() value = DBRef( collection, self.document_type.id.to_python(value['_id'])) + return self.document_type._from_son(self.document_type._get_db().dereference(value)) return value