summaryrefslogtreecommitdiff
path: root/django/db
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2017-05-18 19:11:23 +0200
committerGitHub <noreply@github.com>2017-05-18 19:11:23 +0200
commit99df304c856ac2f6ee18418ea8ca3e2dc7b47dac (patch)
treefc6b26ff7dd7a1d6debae091576865dbbaa0a081 /django/db
parent98b3b14a648a128d409b8f6169c1a4ff9d71c1a4 (diff)
Fixed #28206 -- Fixed RawQuerySet crash on a model with a mixed case db_column pk on Oracle.
Thanks Tim Graham for the review.
Diffstat (limited to 'django/db')
-rw-r--r--django/db/models/query.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/django/db/models/query.py b/django/db/models/query.py
index ae0b44cf2a..9fd116c4a6 100644
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -1159,10 +1159,11 @@ class RawQuerySet:
def resolve_model_init_order(self):
"""Resolve the init field names and value positions."""
- model_init_fields = [f for f in self.model._meta.fields if f.column in self.columns]
+ converter = connections[self.db].introspection.column_name_converter
+ model_init_fields = [f for f in self.model._meta.fields if converter(f.column) in self.columns]
annotation_fields = [(column, pos) for pos, column in enumerate(self.columns)
if column not in self.model_fields]
- model_init_order = [self.columns.index(f.column) for f in model_init_fields]
+ model_init_order = [self.columns.index(converter(f.column)) for f in model_init_fields]
model_init_names = [f.attname for f in model_init_fields]
return model_init_names, model_init_order, annotation_fields