Skip to content

Commit 93ac126

Browse files
WaVEVtimgraham
authored andcommitted
add OrderBy.as_mql()
1 parent 4e16422 commit 93ac126

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

django_mongodb/compiler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -469,10 +469,10 @@ def _get_ordering(self):
469469
idx = itertools.count(start=1)
470470
for order in self.order_by_objs or []:
471471
if isinstance(order.expression, Col):
472-
field_name = order.expression.as_mql(self, self.connection).removeprefix("$")
472+
field_name = order.as_mql(self, self.connection).removeprefix("$")
473473
fields.append((order.expression.target.column, order.expression))
474474
elif isinstance(order.expression, Ref):
475-
field_name = order.expression.as_mql(self, self.connection).removeprefix("$")
475+
field_name = order.as_mql(self, self.connection).removeprefix("$")
476476
else:
477477
field_name = f"__order{next(idx)}"
478478
fields.append((field_name, order.expression))

django_mongodb/expressions.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
ExpressionWrapper,
1313
F,
1414
NegatedExpression,
15+
OrderBy,
1516
Ref,
1617
ResolvedOuterRef,
1718
Star,
@@ -73,6 +74,10 @@ def negated_expression(self, compiler, connection):
7374
return {"$not": expression_wrapper(self, compiler, connection)}
7475

7576

77+
def order_by(self, compiler, connection):
78+
return self.expression.as_mql(compiler, connection)
79+
80+
7681
def query(self, compiler, connection): # noqa: ARG001
7782
raise NotSupportedError("Using a QuerySet in annotate() is not supported on MongoDB.")
7883

@@ -123,6 +128,7 @@ def register_expressions():
123128
ExpressionWrapper.as_mql = expression_wrapper
124129
F.as_mql = f
125130
NegatedExpression.as_mql = negated_expression
131+
OrderBy.as_mql = order_by
126132
Query.as_mql = query
127133
Ref.as_mql = ref
128134
ResolvedOuterRef.as_mql = ResolvedOuterRef.as_sql

0 commit comments

Comments
 (0)