File tree Expand file tree Collapse file tree 2 files changed +4
-4
lines changed Expand file tree Collapse file tree 2 files changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -151,24 +151,25 @@ def get_transform(self, name):
151
151
new_field = opts .get_field (name )
152
152
result = KeyTransformFactory (name , new_field )
153
153
else :
154
- if self .ref_field is not None and self . ref_field .get_transform (name ) is None :
154
+ if self .ref_field .get_transform (name ) is None :
155
155
raise FieldDoesNotExist (
156
156
f"{ self .ref_field .model ._meta .object_name } has no field named '{ name } '"
157
157
)
158
- result = KeyTransformFactory (name , None )
158
+ result = KeyTransformFactory (name , self . ref_field )
159
159
return result
160
160
161
161
def preprocess_lhs (self , compiler , connection ):
162
162
previous = self
163
163
embedded_key_transforms = []
164
164
json_key_transforms = []
165
165
while isinstance (previous , KeyTransform ):
166
- if previous .ref_field is not None :
166
+ if isinstance ( previous .ref_field , EmbeddedModelField ) :
167
167
embedded_key_transforms .insert (0 , previous .key_name )
168
168
else :
169
169
json_key_transforms .insert (0 , previous .key_name )
170
170
previous = previous .lhs
171
171
mql = previous .as_mql (compiler , connection )
172
+ embedded_key_transforms .append (json_key_transforms .pop (0 ))
172
173
return mql , embedded_key_transforms , json_key_transforms
173
174
174
175
Original file line number Diff line number Diff line change @@ -179,7 +179,6 @@ def test_embedded_with_json_field(self):
179
179
def _truncate_ms (time ):
180
180
return time - timedelta (microseconds = time .microsecond )
181
181
182
- ################
183
182
def test_ordering_by_embedded_field (self ):
184
183
query = (
185
184
EmbeddedModelFieldModel .objects .filter (simple__someint__gt = 3 )
You can’t perform that action at this time.
0 commit comments