MCPcopy
hub / github.com/django/django / as_sql

Method as_sql

django/db/models/expressions.py:1593–1607  ·  view source on GitHub ↗
(self, compiler, connection)

Source from the content-addressed store, hash-verified

1591 return self.expression.copy()
1592
1593 def as_sql(self, compiler, connection):
1594 try:
1595 sql, params = super().as_sql(compiler, connection)
1596 except EmptyResultSet:
1597 features = compiler.connection.features
1598 if not features.supports_boolean_expr_in_select_clause:
1599 return "1=1", ()
1600 return compiler.compile(Value(True))
1601 ops = compiler.connection.ops
1602 # Some database backends (e.g. Oracle) don't allow EXISTS() and filters
1603 # to be compared to another expression unless they're wrapped in a CASE
1604 # WHEN.
1605 if not ops.conditional_expression_supported_in_where_clause(self.expression):
1606 return f"CASE WHEN {sql} = 0 THEN 1 ELSE 0 END", params
1607 return f"NOT {sql}", params
1608
1609 def resolve_expression(
1610 self, query=None, allow_joins=True, reuse=None, summarize=False, for_save=False

Callers

nothing calls this directly

Calls 4

ValueClass · 0.85
as_sqlMethod · 0.45
compileMethod · 0.45

Tested by

no test coverage detected