class Subquery(BaseExpression, Combinable):
Known subclasses: django.db.models.expressions.Exists
Method | __init__ |
Undocumented |
Method | _resolve_output_field |
Attempt to infer the output type of the expression. If the output fields of all source fields match then, simply infer the same type here. This isn't always correct, but it makes sense most of the time. |
Method | as_sql |
Responsible for returning a (sql, [params]) tuple to be included in the current query. |
Method | copy |
Undocumented |
Method | get_external_cols |
Undocumented |
Method | get_group_by_cols |
Undocumented |
Method | get_source_expressions |
Undocumented |
Method | set_source_expressions |
Undocumented |
Class Variable | contains_aggregate |
Undocumented |
Class Variable | empty_result_set_value |
Undocumented |
Class Variable | template |
Undocumented |
Instance Variable | extra |
Undocumented |
Instance Variable | query |
Undocumented |
Property | external_aliases |
Undocumented |
Inherited from BaseExpression
:
Static Method | _convert_value_noop |
Undocumented |
Method | __getstate__ |
Undocumented |
Method | _parse_expressions |
Undocumented |
Method | asc |
Undocumented |
Method | desc |
Undocumented |
Method | flatten |
Recursively yield this expression and all subexpressions, in depth-first order. |
Method | get_db_converters |
Undocumented |
Method | get_lookup |
Undocumented |
Method | get_source_fields |
Return the underlying field types used by this aggregate. |
Method | get_transform |
Undocumented |
Method | relabeled_clone |
Undocumented |
Method | resolve_expression |
Provide the chance to do any preprocessing or validation before being added to the query. |
Method | reverse_ordering |
Undocumented |
Method | select_format |
Custom format for select clauses. For example, EXISTS expressions need to be wrapped in CASE WHEN on Oracle. |
Class Variable | _output_field_resolved_to_none |
Undocumented |
Class Variable | filterable |
Undocumented |
Class Variable | is_summary |
Undocumented |
Class Variable | window_compatible |
Undocumented |
Property | _output_field_or_none |
Return the output field of this expression, or None if _resolve_output_field() didn't return an output type. |
Property | conditional |
Undocumented |
Property | contains_column_references |
Undocumented |
Property | contains_over_clause |
Undocumented |
Property | convert_value |
Expressions provide their own converters because users have the option of manually specifying the output_field which may be a different type from the one the database returns. |
Property | field |
Undocumented |
Property | output_field |
Return the output type of this expressions. |
Inherited from Combinable
:
Constant | ADD |
Undocumented |
Constant | BITAND |
Undocumented |
Constant | BITLEFTSHIFT |
Undocumented |
Constant | BITOR |
Undocumented |
Constant | BITRIGHTSHIFT |
Undocumented |
Constant | BITXOR |
Undocumented |
Constant | DIV |
Undocumented |
Constant | MOD |
Undocumented |
Constant | MUL |
Undocumented |
Constant | POW |
Undocumented |
Constant | SUB |
Undocumented |
Method | __add__ |
Undocumented |
Method | __and__ |
Undocumented |
Method | __mod__ |
Undocumented |
Method | __mul__ |
Undocumented |
Method | __neg__ |
Undocumented |
Method | __or__ |
Undocumented |
Method | __pow__ |
Undocumented |
Method | __radd__ |
Undocumented |
Method | __rand__ |
Undocumented |
Method | __rmod__ |
Undocumented |
Method | __rmul__ |
Undocumented |
Method | __ror__ |
Undocumented |
Method | __rpow__ |
Undocumented |
Method | __rsub__ |
Undocumented |
Method | __rtruediv__ |
Undocumented |
Method | __sub__ |
Undocumented |
Method | __truediv__ |
Undocumented |
Method | _combine |
Undocumented |
Method | bitand |
Undocumented |
Method | bitleftshift |
Undocumented |
Method | bitor |
Undocumented |
Method | bitrightshift |
Undocumented |
Method | bitxor |
Undocumented |
django.db.models.expressions.Exists
Undocumented
Attempt to infer the output type of the expression. If the output fields of all source fields match then, simply infer the same type here. This isn't always correct, but it makes sense most of the time.
Consider the difference between 2 + 2
and 2 / 3
. Inferring
the type here is a convenience for the common case. The user should
supply their own output_field with more complex computations.
If a source's output field resolves to None, exclude it from this check. If all sources are None, then an error is raised higher up the stack in the output_field property.
django.db.models.expressions.Exists
Responsible for returning a (sql, [params]) tuple to be included in the current query.
Different backends can provide their own implementation, by
providing an as_{vendor}
method and patching the Expression:
``` def override_as_sql(self, compiler, connection):
# custom logic return super().as_sql(compiler, connection)
setattr(Expression, 'as_' + connection.vendor, override_as_sql) ```
value
.sql
is a string containing ordered sql parameters to be
replaced with the elements of the list params
.