mirror of
https://github.com/django/django.git
synced 2025-06-03 10:39:12 +00:00
Refs #36326 -- Fixed QuerySet.raw() crash on models with CompositePrimaryKey on Oracle.
Virtual CompositePrimaryKey fields should be ignored. Regression in 1831f7733d3ef03d1ca7fac3e8d9f4c5e3e3375e.
This commit is contained in:
parent
0596263c31
commit
045110ff30
@ -2077,7 +2077,9 @@ class RawQuerySet:
|
||||
"""Resolve the init field names and value positions."""
|
||||
converter = connections[self.db].introspection.identifier_converter
|
||||
model_init_fields = [
|
||||
f for f in self.model._meta.fields if converter(f.column) in self.columns
|
||||
field
|
||||
for column_name, field in self.model_fields.items()
|
||||
if column_name in self.columns
|
||||
]
|
||||
annotation_fields = [
|
||||
(column, pos)
|
||||
@ -2192,10 +2194,13 @@ class RawQuerySet:
|
||||
def model_fields(self):
|
||||
"""A dict mapping column names to model field names."""
|
||||
converter = connections[self.db].introspection.identifier_converter
|
||||
model_fields = {}
|
||||
for field in self.model._meta.fields:
|
||||
model_fields[converter(field.column)] = field
|
||||
return model_fields
|
||||
return {
|
||||
converter(field.column): field
|
||||
for field in self.model._meta.fields
|
||||
# Fields with None "column" should be ignored
|
||||
# (e.g. CompositePrimaryKey).
|
||||
if field.column
|
||||
}
|
||||
|
||||
|
||||
class Prefetch:
|
||||
|
Loading…
x
Reference in New Issue
Block a user