Files
django-stubs/django/db/models/expressions.pyi
Maxim Kurnikov a9f215bf64 initial commit
2018-07-29 18:12:23 +03:00

335 lines
9.8 KiB
Python

from collections import OrderedDict
from datetime import (
datetime,
timedelta,
)
from django.db.backends.sqlite3.base import DatabaseWrapper
from django.db.models.aggregates import Count
from django.db.models.fields import Field
from django.db.models.fields.related import ForeignKey
from django.db.models.fields.reverse_related import ForeignObjectRel
from django.db.models.functions.datetime import Trunc
from django.db.models.functions.text import BytesToCharFieldConversionMixin
from django.db.models.query_utils import Q
from django.db.models.sql.compiler import SQLCompiler
from django.db.models.sql.query import Query
from django.db.models.sql.where import WhereNode
from typing import (
Any,
Callable,
Dict,
Iterator,
List,
Optional,
Set,
Tuple,
Union,
)
class BaseExpression:
def __eq__(self, other: Expression) -> bool: ...
def __getstate__(self) -> Dict[str, Any]: ...
def __hash__(self) -> int: ...
def __init__(
self,
output_field: Optional[Union[str, ForeignObjectRel, Field]] = ...
) -> None: ...
@staticmethod
def _convert_value_noop(
value: str,
expression: BytesToCharFieldConversionMixin,
connection: DatabaseWrapper
) -> str: ...
@cached_property
def _output_field_or_none(self) -> Any: ...
def _parse_expressions(self, *expressions) -> Any: ...
def _prepare(self, field: Any) -> Expression: ...
def _resolve_output_field(self) -> Any: ...
def asc(self, **kwargs) -> OrderBy: ...
@cached_property
def contains_aggregate(self) -> bool: ...
@cached_property
def contains_column_references(self) -> bool: ...
@cached_property
def contains_over_clause(self) -> bool: ...
@cached_property
def convert_value(self) -> Callable: ...
def copy(self) -> BaseExpression: ...
def desc(self, **kwargs) -> OrderBy: ...
@property
def field(self) -> Any: ...
def flatten(self) -> Iterator[Union[Value, Func]]: ...
def get_db_converters(self, connection: DatabaseWrapper) -> List[Callable]: ...
def get_group_by_cols(
self
) -> Union[List[CombinedExpression], List[Trunc], List[Col]]: ...
def get_lookup(self, lookup: str) -> Any: ...
def get_source_expressions(self) -> List[Any]: ...
def get_source_fields(self) -> Any: ...
def get_transform(self, name: str) -> Any: ...
@cached_property
def output_field(self) -> Field: ...
def relabeled_clone(
self,
change_map: Union[OrderedDict, Dict[Union[str, None], str]]
) -> Expression: ...
def resolve_expression(
self,
query: Query = ...,
allow_joins: bool = ...,
reuse: Optional[Set[str]] = ...,
summarize: bool = ...,
for_save: bool = ...
) -> BaseExpression: ...
def set_source_expressions(self, exprs: List[Any]) -> None: ...
class Case:
def __init__(self, *cases, default = ..., output_field = ..., **extra) -> None: ...
def __repr__(self) -> str: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper,
template: None = ...,
case_joiner: None = ...,
**extra_context
) -> Any: ...
def copy(self) -> Case: ...
def get_source_expressions(self) -> List[Expression]: ...
def resolve_expression(
self,
query: Query = ...,
allow_joins: bool = ...,
reuse: None = ...,
summarize: bool = ...,
for_save: bool = ...
) -> Case: ...
def set_source_expressions(self, exprs: List[Expression]) -> None: ...
class Col:
def __init__(self, alias: str, target: Field, output_field: Any = ...) -> None: ...
def __repr__(self) -> str: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Tuple[str, List[Any]]: ...
def get_db_converters(self, connection: DatabaseWrapper) -> List[Callable]: ...
def get_group_by_cols(self) -> List[Col]: ...
def relabeled_clone(
self,
relabels: Union[OrderedDict, Dict[str, str]]
) -> Col: ...
class Combinable:
def __add__(self, other: Any) -> CombinedExpression: ...
def __mod__(self, other: int) -> CombinedExpression: ...
def __mul__(
self,
other: Union[int, F, Value]
) -> CombinedExpression: ...
def __radd__(
self,
other: Optional[Union[float, int, timedelta]]
) -> CombinedExpression: ...
def __rand__(self, other: object): ...
def __rmul__(self, other: float) -> CombinedExpression: ...
def __ror__(self, other: object): ...
def __rsub__(self, other: Union[float, int]) -> CombinedExpression: ...
def __rtruediv__(self, other: int) -> CombinedExpression: ...
def __sub__(
self,
other: Union[float, timedelta, int, F]
) -> CombinedExpression: ...
def __truediv__(
self,
other: Union[int, Count]
) -> CombinedExpression: ...
def _combine(self, other: Any, connector: str, reversed: bool) -> CombinedExpression: ...
def bitleftshift(self, other: int) -> CombinedExpression: ...
class CombinedExpression:
def __init__(
self,
lhs: Combinable,
connector: str,
rhs: Combinable,
output_field: None = ...
) -> None: ...
def __str__(self) -> str: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Union[Tuple[str, List[datetime]], Tuple[str, List[int]], Tuple[str, List[Any]], Tuple[str, List[float]]]: ...
def get_source_expressions(self) -> Any: ...
def resolve_expression(
self,
query: Query = ...,
allow_joins: bool = ...,
reuse: Optional[Set[str]] = ...,
summarize: bool = ...,
for_save: bool = ...
) -> CombinedExpression: ...
def set_source_expressions(self, exprs: Any) -> None: ...
class DurationExpression:
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Tuple[str, List[Any]]: ...
def compile(
self,
side: Expression,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Union[Tuple[str, List[datetime]], Tuple[str, List[Any]]]: ...
class DurationValue:
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Tuple[str, List[Any]]: ...
class Exists:
def __init__(self, *args, negated = ..., **kwargs) -> None: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper,
template: None = ...,
**extra_context
) -> Union[Tuple[str, Tuple[int]], Tuple[str, Tuple]]: ...
def resolve_expression(
self,
query: Query = ...,
*args,
**kwargs
) -> Exists: ...
class ExpressionList:
def __init__(self, *expressions, **extra): ...
class ExpressionWrapper:
def __init__(
self,
expression: Union[Q, CombinedExpression],
output_field: Field
) -> None: ...
def __repr__(self) -> str: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Union[Tuple[str, List[int]], Tuple[str, List[Any]]]: ...
def get_source_expressions(
self
) -> Union[List[Q], List[CombinedExpression], List[WhereNode]]: ...
def set_source_expressions(
self,
exprs: Union[List[WhereNode], List[CombinedExpression]]
) -> None: ...
class F:
def __eq__(self, other: F) -> bool: ...
def __hash__(self) -> int: ...
def __init__(self, name: Union[str, OuterRef]) -> None: ...
def __repr__(self) -> str: ...
def asc(self, **kwargs) -> OrderBy: ...
def desc(self, **kwargs) -> OrderBy: ...
def resolve_expression(
self,
query: Query = ...,
allow_joins: bool = ...,
reuse: Optional[Set[str]] = ...,
summarize: bool = ...,
for_save: bool = ...
) -> Expression: ...
class Func:
def __init__(self, *expressions, output_field = ..., **extra) -> None: ...
def __repr__(self) -> str: ...
def _get_repr_options(self) -> Dict[Any, Any]: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper,
function: Optional[str] = ...,
template: Optional[str] = ...,
arg_joiner: Optional[str] = ...,
**extra_context
) -> Any: ...
def copy(self) -> Func: ...
def get_source_expressions(self) -> Any: ...
def resolve_expression(
self,
query: Query = ...,
allow_joins: bool = ...,
reuse: None = ...,
summarize: bool = ...,
for_save: bool = ...
) -> Func: ...
def set_source_expressions(self, exprs: Any) -> None: ...
class OrderBy:
def __init__(
self,
expression: Combinable,
descending: bool = ...,
nulls_first: bool = ...,
nulls_last: bool = ...
) -> None: ...
def __repr__(self) -> str: ...
def as_sql(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper,
template: Optional[str] = ...,
**extra_context
) -> Union[Tuple[str, List[int]], Tuple[str, Tuple], Tuple[str, List[Any]]]: ...
def as_sqlite(
self,
compiler: SQLCompiler,
connection: DatabaseWrapper
) -> Any: ...
def get_source_expressions(self) -> Any: ...
def reverse_ordering(self) -> OrderBy: ...
def set_source_expressions(self, exprs: Any) -> None: ...
class OuterRef:
def _prepare(
self,
output_field: ForeignKey = ...
) -> OuterRef: ...
def resolve_expression(
self,
query: Query = ...,
allow_joins: bool = ...,
reuse: None = ...,
summarize: bool = ...,
for_save: bool = ...
) -> F: ...
class Random:
def __repr__(self) -> str: ...
class RawSQL:
def __init__(self, sql: str, params: List[int], output_field: None = ...) -> None: ...