@@ -135,7 +135,7 @@ def __init__(self, key_name, array_field, *args, **kwargs):
135
135
self .key_name = key_name
136
136
# The iteration items begins from the base_field, a virtual column with
137
137
# 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 ()
139
139
column_name = f"$item.{ key_name } "
140
140
column_target .db_column = column_name
141
141
column_target .set_attributes_from_name (column_name )
@@ -155,10 +155,10 @@ def _get_missing_field_or_lookup_exception(self, lhs, name):
155
155
suggested_lookups = " or " .join (suggested_lookups )
156
156
suggestion = f", perhaps you meant { suggested_lookups } ?"
157
157
else :
158
- suggestion = ". "
158
+ suggestion = ""
159
159
raise FieldDoesNotExist (
160
160
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__ } '"
162
162
f"{ suggestion } "
163
163
)
164
164
@@ -169,17 +169,10 @@ def get_transform(self, name):
169
169
"""
170
170
# Once the sub lhs is a transform, all the filter are applied over it.
171
171
# 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 ):
178
173
self ._sub_transform = transform
179
174
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 )
183
176
184
177
def as_mql (self , compiler , connection ):
185
178
inner_lhs_mql = self ._lhs .as_mql (compiler , connection )
0 commit comments