diff --git a/mongoengine/fields.py b/mongoengine/fields.py index 13b7ed8e..831186d0 100644 --- a/mongoengine/fields.py +++ b/mongoengine/fields.py @@ -657,6 +657,9 @@ class ReferenceField(BaseField): return super(ReferenceField, self).__get__(instance, owner) def to_mongo(self, document): + if isinstance(document, DBRef): + return document + id_field_name = self.document_type._meta['id_field'] id_field = self.document_type._fields[id_field_name]