Fix iteration on querysets.

If iteration of a queryset was interrupted (by a break, or a caught
error), the next iterator would start from the second element as the
cursor had already moved to the first. This is fixed by adding a rewind
into the __iter__ method.
This commit is contained in:
Marc Tamlyn
2011-10-05 13:26:57 +01:00
parent 89c44cd14e
commit 219d316b49
2 changed files with 7 additions and 0 deletions

View File

@@ -1342,6 +1342,7 @@ class QuerySet(object):
raise OperationError(u'Update failed [%s]' % unicode(e))
def __iter__(self):
self.rewind()
return self
def _sub_js_fields(self, code):