defensive programming for v as an instance of DBRef when accessing v.collection in dereference
This commit is contained in:
parent
da7d64667e
commit
919f221be9
@ -237,7 +237,7 @@ class DeReference(object):
|
|||||||
elif isinstance(v, (dict, list, tuple)) and depth <= self.max_depth:
|
elif isinstance(v, (dict, list, tuple)) and depth <= self.max_depth:
|
||||||
item_name = '%s.%s' % (name, k) if name else name
|
item_name = '%s.%s' % (name, k) if name else name
|
||||||
data[k] = self._attach_objects(v, depth - 1, instance=instance, name=item_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)
|
data[k] = self.object_map.get((v.collection, v.id), v)
|
||||||
|
|
||||||
if instance and name:
|
if instance and name:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user