From 9299dc42ed4986d2a1eb7c7f7fe7c276b9f6b6d6 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Tue, 14 Aug 2012 14:09:23 +0200 Subject: [PATCH] [py3] Removed unnecessary calls to .keys() when computing the length of a dictionary. This fails on Python 3. --- django/db/backends/mysql/compiler.py | 2 +- django/db/backends/oracle/compiler.py | 2 +- django/db/models/base.py | 2 +- django/db/models/sql/compiler.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/django/db/backends/mysql/compiler.py b/django/db/backends/mysql/compiler.py index bd4105ff8e..012bca5da6 100644 --- a/django/db/backends/mysql/compiler.py +++ b/django/db/backends/mysql/compiler.py @@ -3,7 +3,7 @@ from django.db.models.sql import compiler class SQLCompiler(compiler.SQLCompiler): def resolve_columns(self, row, fields=()): values = [] - index_extra_select = len(self.query.extra_select.keys()) + index_extra_select = len(self.query.extra_select) for value, field in map(None, row[index_extra_select:], fields): if (field and field.get_internal_type() in ("BooleanField", "NullBooleanField") and value in (0, 1)): diff --git a/django/db/backends/oracle/compiler.py b/django/db/backends/oracle/compiler.py index c7b10429c2..e21f867f82 100644 --- a/django/db/backends/oracle/compiler.py +++ b/django/db/backends/oracle/compiler.py @@ -10,7 +10,7 @@ class SQLCompiler(compiler.SQLCompiler): rn_offset = 1 else: rn_offset = 0 - index_start = rn_offset + len(self.query.extra_select.keys()) + index_start = rn_offset + len(self.query.extra_select) values = [self.query.convert_values(v, None, connection=self.connection) for v in row[rn_offset:index_start]] for value, field in map(None, row[index_start:], fields): diff --git a/django/db/models/base.py b/django/db/models/base.py index 1e1a138714..157b74ae49 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -779,7 +779,7 @@ class Model(six.with_metaclass(ModelBase, object)): lookup_kwargs[str(field_name)] = lookup_value # some fields were skipped, no reason to do the check - if len(unique_check) != len(lookup_kwargs.keys()): + if len(unique_check) != len(lookup_kwargs): continue qs = model_class._default_manager.filter(**lookup_kwargs) diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py index 1311ea546c..3dc0c6ece4 100644 --- a/django/db/models/sql/compiler.py +++ b/django/db/models/sql/compiler.py @@ -786,7 +786,7 @@ class SQLCompiler(object): row = self.resolve_columns(row, fields) if has_aggregate_select: - aggregate_start = len(self.query.extra_select.keys()) + len(self.query.select) + aggregate_start = len(self.query.extra_select) + len(self.query.select) aggregate_end = aggregate_start + len(self.query.aggregate_select) row = tuple(row[:aggregate_start]) + tuple([ self.query.resolve_aggregate(value, aggregate, self.connection)