Index: django/db/models/query.py
===================================================================
--- django/db/models/query.py	(revision 6913)
+++ django/db/models/query.py	(working copy)
@@ -665,7 +665,6 @@
 
         has_resolve_columns = hasattr(self, 'resolve_columns')
         needs_datetime_string_cast = connection.features.needs_datetime_string_cast
-        dates = []
         # It would be better to use self._field here instead of DateTimeField(),
         # but in Oracle that will result in a list of datetime.date instead of
         # datetime.datetime.
@@ -673,14 +672,14 @@
         while 1:
             rows = cursor.fetchmany(GET_ITERATOR_CHUNK_SIZE)
             if not rows:
-                return dates
+                raise StopIteration
             for row in rows:
                 date = row[0]
                 if has_resolve_columns:
                     date = self.resolve_columns([date], fields)[0]
                 elif needs_datetime_string_cast:
                     date = typecast_timestamp(str(date))
-                dates.append(date)
+                yield date
 
     def _clone(self, klass=None, **kwargs):
         c = super(DateQuerySet, self)._clone(klass, **kwargs)

