Merge pull request #417 from ProgressiveCompany/delta-dbref-false-bug

BaseDocument._delta doesn't properly end it's path at Documents when using `dbref=False`
This commit is contained in:
Ross Lawley
2013-07-29 08:41:09 -07:00
2 changed files with 32 additions and 7 deletions

View File

@@ -4,7 +4,7 @@ import numbers
from functools import partial
import pymongo
from bson import json_util
from bson import json_util, ObjectId
from bson.dbref import DBRef
from bson.son import SON
@@ -454,7 +454,7 @@ class BaseDocument(object):
d = doc
new_path = []
for p in parts:
if isinstance(d, DBRef):
if isinstance(d, (ObjectId, DBRef)):
break
elif isinstance(d, list) and p.isdigit():
d = d[int(p)]