diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index dc455763be..cfe5d37a37 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -71,7 +71,13 @@ class RawQuery(object): # Always execute a new query for a new iterator. # This could be optimized with a cache at the expense of RAM. self._execute_query() - return iter(self.cursor) + if not connections[self.using].features.can_use_chunked_reads: + # If the database can't use chunked reads we need to make sure we + # evaluate the entire query up front. + result = list(self.cursor) + else: + result = self.cursor + return iter(result) def __repr__(self): return "" % (self.sql % self.params)