(self, compiler, connection)
| 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 |
nothing calls this directly
no test coverage detected