summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-04-20 08:47:41 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2008-04-20 08:47:41 +0000
commitc43a3d78b1a7c65b903922679c76a499e484dea5 (patch)
tree537c027c0163efde24cf51bc0d096704b0610ae5
parentd4956cb42784770b319e5fdadd69add792c864a9 (diff)
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
-rw-r--r--django/db/backends/oracle/query.py4
1 files 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.