diff options
Diffstat (limited to 'django/db/models/sql/query.py')
| -rw-r--r-- | django/db/models/sql/query.py | 8 |
1 files changed, 7 insertions, 1 deletions
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 "<RawQuery: %r>" % (self.sql % self.params) |
