Fixed bug accessing ListField (BaseList) with negative indices

If you __setitem__ in BaseList with a negative index and then try to save this, you will get an error like: OperationError: Could not save document (cannot use the part (shape of signal.shape.-1) to traverse the element ({shape: [ 0 ]})). To fix this I rectify negative list indices in BaseList _mark_as_changed as the appropriate positive index. This fixes the above error.
This commit is contained in:
Neurostack
2016-03-29 11:46:03 -06:00
committed by Joshua Nedrud
parent 3b1509f307
commit 00430491ca
4 changed files with 17 additions and 1 deletions

View File

@@ -199,7 +199,8 @@ class BaseList(list):
def _mark_as_changed(self, key=None):
if hasattr(self._instance, '_mark_as_changed'):
if key:
self._instance._mark_as_changed('%s.%s' % (self._name, key))
self._instance._mark_as_changed('%s.%s' % (self._name,
key % len(self)))
else:
self._instance._mark_as_changed(self._name)