@@ -135,7 +135,7 @@ def __init__(self, key_name, array_field, *args, **kwargs):
135135 self .key_name = key_name
136136 # The iteration items begins from the base_field, a virtual column with
137137 # base field output type is created.
138- column_target = array_field .base_field . embedded_model ._meta .get_field (key_name ).clone ()
138+ column_target = array_field .embedded_model ._meta .get_field (key_name ).clone ()
139139 column_name = f"$item.{ key_name } "
140140 column_target .db_column = column_name
141141 column_target .set_attributes_from_name (column_name )
@@ -155,10 +155,10 @@ def _get_missing_field_or_lookup_exception(self, lhs, name):
155155 suggested_lookups = " or " .join (suggested_lookups )
156156 suggestion = f", perhaps you meant { suggested_lookups } ?"
157157 else :
158- suggestion = ". "
158+ suggestion = ""
159159 raise FieldDoesNotExist (
160160 f"Unsupported lookup '{ name } ' for "
161- f"{ self . array_field . base_field . __class__ . __name__ } ' { self . array_field . base_field . name } '"
161+ f"EmbeddedModelArrayField of ' { lhs . __class__ . __name__ } '"
162162 f"{ suggestion } "
163163 )
164164
@@ -169,17 +169,10 @@ def get_transform(self, name):
169169 """
170170 # Once the sub lhs is a transform, all the filter are applied over it.
171171 # Otherwise get transform from EMF.
172- transform = (
173- self ._lhs .get_transform (name )
174- if isinstance (self ._lhs , Transform )
175- else self .array_field .embedded_model ._meta .get_field (self .key_name ).get_transform (name )
176- )
177- if transform :
172+ if transform := self ._lhs .get_transform (name ):
178173 self ._sub_transform = transform
179174 return self
180- raise self ._get_missing_field_or_lookup_exception (
181- self ._lhs if isinstance (self ._lhs , Transform ) else self .base_field , name
182- )
175+ raise self ._get_missing_field_or_lookup_exception (self ._lhs .output_field , name )
183176
184177 def as_mql (self , compiler , connection ):
185178 inner_lhs_mql = self ._lhs .as_mql (compiler , connection )
0 commit comments