save_condition falls back to "n" if "nModified" is not found to support mongo 2.4

This commit is contained in:
Momchil Rogelov 2015-08-12 10:57:20 +01:00
parent 91aca44f67
commit 10832a2ccc

View File

@ -361,7 +361,8 @@ class Document(BaseDocument):
upsert = save_condition is None
last_error = collection.update(select_dict, update_query,
upsert=upsert, **write_concern)
if not upsert and last_error['nModified'] == 0:
n_modified = last_error.get('nModified', last_error["n"])
if not upsert and n_modified == 0:
raise SaveConditionError('Race condition preventing'
' document update detected')
created = is_new_object(last_error)