Skip to content

Commit 7339130

Browse files
committed
Handle ref expression in ordering.
1 parent 198ded3 commit 7339130

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

django_mongodb/compiler.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,12 +452,15 @@ def preprocess_orderby(self):
452452
result = SON()
453453
idx = itertools.count(start=1)
454454
for order in self._order_by or []:
455-
if isinstance(order.expression, Col | Ref):
455+
if isinstance(order.expression, Col):
456456
fieldname = order.expression.as_mql(self, self.connection).removeprefix("$")
457457
fields[fieldname] = order.expression
458+
elif isinstance(order.expression, Ref):
459+
fieldname = order.expression.as_mql(self, self.connection).removeprefix("$")
460+
orderby_annotations[fieldname] = order.expression
458461
else:
459462
fieldname = f"__order{next(idx)}"
460-
orderby_annotations[fieldname] = order.expression
463+
fields[fieldname] = order.expression
461464

462465
if order.nulls_first or order.nulls_last:
463466
null_fieldname = f"__order{next(idx)}"

0 commit comments

Comments
 (0)