mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #28289 -- Fixed crash of RawSQL annotations on inherited model fields.
This commit is contained in:
@@ -699,6 +699,16 @@ class RawSQL(Expression):
|
||||
def get_group_by_cols(self, alias=None):
|
||||
return [self]
|
||||
|
||||
def resolve_expression(self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False):
|
||||
# Resolve parents fields used in raw SQL.
|
||||
for parent in query.model._meta.get_parent_list():
|
||||
for parent_field in parent._meta.local_fields:
|
||||
_, column_name = parent_field.get_attname_column()
|
||||
if column_name.lower() in self.sql.lower():
|
||||
query.resolve_ref(parent_field.name, allow_joins, reuse, summarize)
|
||||
break
|
||||
return super().resolve_expression(query, allow_joins, reuse, summarize, for_save)
|
||||
|
||||
|
||||
class Star(Expression):
|
||||
def __repr__(self):
|
||||
|
||||
Reference in New Issue
Block a user