From c43a3d78b1a7c65b903922679c76a499e484dea5 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sun, 20 Apr 2008 08:47:41 +0000 Subject: [PATCH] queryset-refactor: Fixed db column to model field mapping for Oracle backend. Thanks, Justin Bronn. Fixed #7036. git-svn-id: http://code.djangoproject.com/svn/django/branches/queryset-refactor@7438 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/backends/oracle/query.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/django/db/backends/oracle/query.py b/django/db/backends/oracle/query.py index c127ba9cfc..699398a254 100644 --- a/django/db/backends/oracle/query.py +++ b/django/db/backends/oracle/query.py @@ -28,8 +28,9 @@ def query_class(QueryClass, Database): def resolve_columns(self, row, fields=()): from django.db.models.fields import DateField, DateTimeField, \ TimeField, BooleanField, NullBooleanField, DecimalField, Field + index_start = len(self.extra_select.keys()) values = [] - for value, field in map(None, row, fields): + for value, field in map(None, row[index_start:], fields): if isinstance(value, Database.LOB): value = value.read() # Oracle stores empty strings as null. We need to undo this in @@ -111,7 +112,6 @@ def query_class(QueryClass, Database): # not get the attribute on the returned models. self.extra_select['rn'] = 'ROW_NUMBER() OVER (ORDER BY %s )' % rn_orderby sql, params= super(OracleQuery, self).as_sql(with_limits=False) - self.extra_select.pop('rn') # Constructing the result SQL, using the initial select SQL # obtained above.