class documentation

class Window(SQLiteNumericMixin, Expression):

View In Hierarchy

Undocumented

Class Variable filterable Undocumented
Class Variable template Undocumented
Method __init__ Undocumented
Method __repr__ Undocumented
Method __str__ 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 as​_sqlite Undocumented
Method get​_group​_by​_cols Undocumented
Method get​_source​_expressions Undocumented
Method set​_source​_expressions Undocumented
Class Variable contains​_aggregate Undocumented
Class Variable contains​_over​_clause Undocumented
Instance Variable frame Undocumented
Instance Variable order​_by Undocumented
Instance Variable partition​_by Undocumented
Instance Variable source​_expression Undocumented

Inherited from Expression:

Method __eq__ Undocumented
Method __hash__ Undocumented
Property identity Undocumented

Inherited from BaseExpression (via Expression):

Static Method ​_convert​_value​_noop Undocumented
Method __getstate__ Undocumented
Method ​_parse​_expressions Undocumented
Method asc Undocumented
Method copy 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 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 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 (via Expression):

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
filterable: bool =
template: str =

Undocumented

def __init__(self, expression, partition_by=None, order_by=None, frame=None, output_field=None):
def __repr__(self):

Undocumented

def __str__(self):

Undocumented

def _resolve_output_field(self):

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.

def as_sql(self, compiler, connection, template=None):

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) ```

Arguments:
  • compiler: the query compiler responsible for generating the query. Must have a compile method, returning a (sql, [params]) tuple. Calling compiler(value) will return a quoted value.
  • connection: the database connection used for the current query.
Return: (sql, params)
Where sql is a string containing ordered sql parameters to be replaced with the elements of the list params.
def as_sqlite(self, compiler, connection):
def get_group_by_cols(self, alias=None):
def get_source_expressions(self):
def set_source_expressions(self, exprs):
contains_aggregate: bool =
contains_over_clause: bool =
frame =

Undocumented

order_by =

Undocumented

partition_by =

Undocumented

source_expression =

Undocumented