Skip to content

Commit 4041517

Browse files
committed
Add as_expr parameter to group_by
1 parent cf0ef15 commit 4041517

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

django_mongodb_backend/compiler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -744,10 +744,10 @@ def _get_ordering(self):
744744
idx = itertools.count(start=1)
745745
for order in self.order_by_objs or []:
746746
if isinstance(order.expression, Col):
747-
field_name = order.as_mql(self, self.connection, as_expr=True).removeprefix("$")
747+
field_name = order.as_mql(self, self.connection)
748748
fields.append((order.expression.target.column, order.expression))
749749
elif isinstance(order.expression, Ref):
750-
field_name = order.as_mql(self, self.connection, as_expr=True).removeprefix("$")
750+
field_name = order.as_mql(self, self.connection)
751751
else:
752752
field_name = f"__order{next(idx)}"
753753
fields.append((field_name, order.expression))

django_mongodb_backend/expressions/builtins.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ def negated_expression(self, compiler, connection):
110110
return {"$not": expression_wrapper(self, compiler, connection)}
111111

112112

113-
def order_by(self, compiler, connection):
114-
return self.expression.as_mql(compiler, connection, as_expr=True)
113+
def order_by(self, compiler, connection, as_expr=False):
114+
return self.expression.as_mql(compiler, connection, as_expr=as_expr)
115115

116116

117117
def query(self, compiler, connection, get_wrapping_pipeline=None, as_expr=False):
@@ -245,7 +245,8 @@ def register_expressions():
245245
ExpressionList.as_mql = process_lhs
246246
ExpressionWrapper.as_mql_expr = expression_wrapper
247247
NegatedExpression.as_mql_expr = negated_expression
248-
OrderBy.as_mql_expr = order_by
248+
OrderBy.as_mql_expr = partialmethod(order_by, as_expr=True)
249+
OrderBy.as_mql_path = partialmethod(order_by, as_expr=False)
249250
Query.as_mql = query
250251
RawSQL.as_mql = raw_sql
251252
Ref.as_mql = ref

0 commit comments

Comments
 (0)