summaryrefslogtreecommitdiff
path: root/django/db/models/sql
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/sql')
-rw-r--r--django/db/models/sql/compiler.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py
index f92df8c996..2afc3635fa 100644
--- a/django/db/models/sql/compiler.py
+++ b/django/db/models/sql/compiler.py
@@ -942,16 +942,15 @@ class SQLCompiler:
def apply_converters(self, rows, converters):
connection = self.connection
converters = list(converters.items())
- for row in rows:
- row = list(row)
+ for row in map(list, rows):
for pos, (convs, expression) in converters:
value = row[pos]
for converter in convs:
value = converter(value, expression, connection)
row[pos] = value
- yield tuple(row)
+ yield row
- def results_iter(self, results=None):
+ def results_iter(self, results=None, tuple_expected=False):
"""Return an iterator over the results from executing this query."""
if results is None:
results = self.execute_sql(MULTI)
@@ -960,6 +959,8 @@ class SQLCompiler:
rows = chain.from_iterable(results)
if converters:
rows = self.apply_converters(rows, converters)
+ if tuple_expected:
+ rows = map(tuple, rows)
return rows
def has_results(self):