MCPcopy
hub / github.com/django/django / Ref

Class Ref

django/db/models/expressions.py:1447–1485  ·  view source on GitHub ↗

Reference to column alias of the query. For example, Ref('sum_cost') in qs.annotate(sum_cost=Sum('cost')) query.

Source from the content-addressed store, hash-verified

1445
1446
1447class Ref(Expression):
1448 """
1449 Reference to column alias of the query. For example, Ref('sum_cost') in
1450 qs.annotate(sum_cost=Sum('cost')) query.
1451 """
1452
1453 def __init__(self, refs, source):
1454 super().__init__()
1455 self.refs, self.source = refs, source
1456
1457 def __repr__(self):
1458 return "{}({}, {})".format(self.__class__.__name__, self.refs, self.source)
1459
1460 def get_source_expressions(self):
1461 return [self.source]
1462
1463 def set_source_expressions(self, exprs):
1464 (self.source,) = exprs
1465
1466 def resolve_expression(
1467 self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False
1468 ):
1469 # The sub-expression `source` has already been resolved, as this is
1470 # just a reference to the name of `source`.
1471 return self
1472
1473 def get_refs(self):
1474 return {self.refs}
1475
1476 def relabeled_clone(self, relabels):
1477 clone = self.copy()
1478 clone.source = self.source.relabeled_clone(relabels)
1479 return clone
1480
1481 def as_sql(self, compiler, connection):
1482 return connection.ops.quote_name(self.refs), ()
1483
1484 def get_group_by_cols(self):
1485 return [self]
1486
1487
1488class ExpressionList(Func):

Callers 8

_order_by_pairsMethod · 0.90
get_order_byMethod · 0.90
get_qualify_sqlMethod · 0.90
get_aggregationMethod · 0.90
solve_lookup_typeMethod · 0.90
resolve_refMethod · 0.90
set_group_byMethod · 0.90
test_expressionsMethod · 0.90

Calls

no outgoing calls

Tested by 1

test_expressionsMethod · 0.72