class WindowFrame(Expression): (source)
Known subclasses: django.db.models.expressions.RowRange
, django.db.models.expressions.ValueRange
Model the frame clause in window expressions. There are two types of frame clauses which are subclasses, however, all processing and validation (by no means intended to be complete) is done here. Thus, providing an end for a frame is optional (the default is UNBOUNDED FOLLOWING, which is the last row in the frame).
Method | __init__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | as |
Responsible for returning a (sql, [params]) tuple to be included in the current query. |
Method | get |
Undocumented |
Method | get |
Undocumented |
Method | set |
Undocumented |
Method | window |
Undocumented |
Class Variable | template |
Undocumented |
Instance Variable | end |
Undocumented |
Instance Variable | start |
Undocumented |
Inherited from Expression
:
Method | __eq__ |
Undocumented |
Method | __hash__ |
Undocumented |
Property | identity |
Undocumented |
Inherited from BaseExpression
(via Expression
):
Method | __getstate__ |
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 |
Undocumented |
Method | get |
Undocumented |
Method | get |
Return the underlying field types used by this aggregate. |
Method | get |
Undocumented |
Method | prefix |
Undocumented |
Method | relabeled |
Undocumented |
Method | replace |
Undocumented |
Method | resolve |
Provide the chance to do any preprocessing or validation before being added to the query. |
Method | reverse |
Undocumented |
Method | select |
Custom format for select clauses. For example, EXISTS expressions need to be wrapped in CASE WHEN on Oracle. |
Class Variable | filterable |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | window |
Undocumented |
Property | conditional |
Undocumented |
Property | contains |
Undocumented |
Property | contains |
Undocumented |
Property | contains |
Undocumented |
Property | convert |
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 |
Return the output type of this expressions. |
Static Method | _convert |
Undocumented |
Method | _parse |
Undocumented |
Method | _resolve |
Attempt to infer the output type of the expression. |
Class Variable | _output |
Undocumented |
Property | _output |
Return the output field of this expression, or None if _resolve_output_field() didn't return an output type. |
Inherited from Combinable
(via Expression
, BaseExpression
):
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 | __rxor__ |
Undocumented |
Method | __sub__ |
Undocumented |
Method | __truediv__ |
Undocumented |
Method | __xor__ |
Undocumented |
Method | bitand |
Undocumented |
Method | bitleftshift |
Undocumented |
Method | bitor |
Undocumented |
Method | bitrightshift |
Undocumented |
Method | bitxor |
Undocumented |
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 | _combine |
Undocumented |
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`.