Merge pull request #1723 from chhsiao1981/dereference-add-check-dbref-type

defensive programming for v as an instance of DBRef in dereference.
This commit is contained in:
erdenezul 2018-05-21 13:00:46 +08:00 committed by GitHub
commit a0dfa8d421
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -237,7 +237,7 @@ class DeReference(object):
elif isinstance(v, (dict, list, tuple)) and depth <= self.max_depth:
item_name = '%s.%s' % (name, k) if name else name
data[k] = self._attach_objects(v, depth - 1, instance=instance, name=item_name)
elif hasattr(v, 'id'):
elif isinstance(v, DBRef) and hasattr(v, 'id'):
data[k] = self.object_map.get((v.collection, v.id), v)
if instance and name: