diff options
| author | Luke Plant <L.Plant.98@cantab.net> | 2010-11-23 13:54:58 +0000 |
|---|---|---|
| committer | Luke Plant <L.Plant.98@cantab.net> | 2010-11-23 13:54:58 +0000 |
| commit | ff7c243b4c1dcefb504b5b636b0631edfb5a46c2 (patch) | |
| tree | b05793c5f965315ae64d4b4fb6491d609d62c5db /django/db/models/sql | |
| parent | 8aa2485a58ea8139e9a769d36b07db809480994a (diff) | |
Fixed #14697 - speeded up model instance creation by moving work outside of loops
Thanks to akaariai for the report and initial patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14687 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/db/models/sql')
| -rw-r--r-- | django/db/models/sql/compiler.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index a11d556b38..b2249dc607 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -672,6 +672,7 @@ class SQLCompiler(object): """ resolve_columns = hasattr(self, 'resolve_columns') fields = None + has_aggregate_select = bool(self.query.aggregate_select) for rows in self.execute_sql(MULTI): for row in rows: if resolve_columns: @@ -692,7 +693,7 @@ class SQLCompiler(object): f.column in only_load[db_table]] row = self.resolve_columns(row, fields) - if self.query.aggregate_select: + if has_aggregate_select: aggregate_start = len(self.query.extra_select.keys()) + len(self.query.select) aggregate_end = aggregate_start + len(self.query.aggregate_select) row = tuple(row[:aggregate_start]) + tuple([ |
