From 99df304c856ac2f6ee18418ea8ca3e2dc7b47dac Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Thu, 18 May 2017 19:11:23 +0200 Subject: Fixed #28206 -- Fixed RawQuerySet crash on a model with a mixed case db_column pk on Oracle. Thanks Tim Graham for the review. --- django/db/models/query.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'django') 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 -- cgit v1.3