mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-08 21:14:49 +08:00
405 lines
16 KiB
Python
405 lines
16 KiB
Python
from collections import OrderedDict
|
|
from datetime import datetime, timedelta
|
|
from typing import Any, Callable, Dict, Iterator, List, Optional, Set, Tuple, Type, Union
|
|
|
|
from django.db.backends.sqlite3.base import DatabaseWrapper
|
|
from django.db.models.aggregates import Aggregate, Count
|
|
from django.db.models.fields import Field, DurationField
|
|
from django.db.models.fields.reverse_related import ForeignObjectRel
|
|
from django.db.models.functions.window import DenseRank
|
|
from django.db.models.lookups import FieldGetDbPrepValueMixin, Lookup, Transform
|
|
from django.db.models.query import QuerySet
|
|
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 django.utils.tree import Node
|
|
|
|
class SQLiteNumericMixin:
|
|
def as_sqlite(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper, **extra_context: Any
|
|
) -> Tuple[str, List[float]]: ...
|
|
|
|
class Combinable:
|
|
ADD: str = ...
|
|
SUB: str = ...
|
|
MUL: str = ...
|
|
DIV: str = ...
|
|
POW: str = ...
|
|
MOD: str = ...
|
|
BITAND: str = ...
|
|
BITOR: str = ...
|
|
BITLEFTSHIFT: str = ...
|
|
BITRIGHTSHIFT: str = ...
|
|
def __neg__(self) -> CombinedExpression: ...
|
|
def __add__(self, other: Optional[Union[timedelta, Combinable, float, str]]) -> CombinedExpression: ...
|
|
def __sub__(self, other: Union[timedelta, Combinable, float]) -> CombinedExpression: ...
|
|
def __mul__(self, other: Union[timedelta, Combinable, float]) -> CombinedExpression: ...
|
|
def __truediv__(self, other: Union[Count, float]) -> CombinedExpression: ...
|
|
def __mod__(self, other: int) -> CombinedExpression: ...
|
|
def __pow__(self, other: float) -> CombinedExpression: ...
|
|
def __and__(self, other: Combinable) -> Any: ...
|
|
def bitand(self, other: int) -> CombinedExpression: ...
|
|
def bitleftshift(self, other: int) -> CombinedExpression: ...
|
|
def bitrightshift(self, other: int) -> CombinedExpression: ...
|
|
def __or__(self, other: Combinable) -> Any: ...
|
|
def bitor(self, other: int) -> CombinedExpression: ...
|
|
def __radd__(self, other: Optional[Union[datetime, float]]) -> CombinedExpression: ...
|
|
def __rsub__(self, other: float) -> CombinedExpression: ...
|
|
def __rmul__(self, other: float) -> CombinedExpression: ...
|
|
def __rtruediv__(self, other: float) -> CombinedExpression: ...
|
|
def __rmod__(self, other: int) -> CombinedExpression: ...
|
|
def __rpow__(self, other: float) -> CombinedExpression: ...
|
|
def __rand__(self, other: Any) -> Any: ...
|
|
def __ror__(self, other: Any) -> Any: ...
|
|
|
|
class BaseExpression:
|
|
is_summary: bool = ...
|
|
filterable: bool = ...
|
|
window_compatible: bool = ...
|
|
output_field: Any = ...
|
|
def __init__(self, output_field: Optional[Union[Field, ForeignObjectRel, str]] = ...) -> None: ...
|
|
def get_db_converters(self, connection: DatabaseWrapper) -> List[Callable]: ...
|
|
def get_source_expressions(self) -> List[Any]: ...
|
|
def set_source_expressions(self, exprs: List[Any]) -> None: ...
|
|
def as_sql(self, compiler: Any, connection: Any) -> None: ...
|
|
def contains_aggregate(self) -> bool: ...
|
|
def contains_over_clause(self) -> bool: ...
|
|
def contains_column_references(self) -> bool: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> BaseExpression: ...
|
|
@property
|
|
def field(self) -> Field: ...
|
|
def output_field(self) -> Field: ...
|
|
def convert_value(self) -> Callable: ...
|
|
def get_lookup(self, lookup: str) -> Optional[Type[Union[FieldGetDbPrepValueMixin, Lookup]]]: ...
|
|
def get_transform(self, name: str) -> Optional[Type[Transform]]: ...
|
|
def relabeled_clone(self, change_map: Union[Dict[Optional[str], str], OrderedDict]) -> Expression: ...
|
|
def copy(self) -> BaseExpression: ...
|
|
def get_group_by_cols(self) -> List[Expression]: ...
|
|
def get_source_fields(self) -> List[Optional[Field]]: ...
|
|
def asc(self, **kwargs: Any) -> OrderBy: ...
|
|
def desc(self, **kwargs: Any) -> OrderBy: ...
|
|
def reverse_ordering(self): ...
|
|
def flatten(self) -> Iterator[Expression]: ...
|
|
def __eq__(self, other: Combinable) -> bool: ...
|
|
def __hash__(self) -> int: ...
|
|
|
|
class Expression(BaseExpression, Combinable): ...
|
|
|
|
class CombinedExpression(SQLiteNumericMixin, Expression):
|
|
connector: Any = ...
|
|
lhs: Any = ...
|
|
rhs: Any = ...
|
|
def __init__(self, lhs: Combinable, connector: str, rhs: Combinable, output_field: None = ...) -> None: ...
|
|
def get_source_expressions(self) -> Union[List[Combinable], List[SQLiteNumericMixin]]: ...
|
|
def set_source_expressions(self, exprs: List[Combinable]) -> None: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[float]]: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> CombinedExpression: ...
|
|
|
|
class DurationExpression(CombinedExpression):
|
|
def compile(
|
|
self, side: Expression, compiler: SQLCompiler, connection: DatabaseWrapper
|
|
) -> Tuple[str, Union[List[datetime], List[int]]]: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper
|
|
) -> Tuple[str, Union[List[datetime], List[int]]]: ...
|
|
|
|
class TemporalSubtraction(CombinedExpression):
|
|
output_field: Any = ...
|
|
def __init__(self, lhs: Col, rhs: Expression) -> None: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[str]]: ...
|
|
|
|
class F(Combinable):
|
|
filterable: bool = ...
|
|
name: str = ...
|
|
def __init__(self, name: Union[OuterRef, str]) -> None: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Expression: ...
|
|
def asc(self, **kwargs: Any) -> OrderBy: ...
|
|
def desc(self, **kwargs: Any) -> OrderBy: ...
|
|
def __eq__(self, other: Combinable) -> bool: ...
|
|
def __hash__(self) -> int: ...
|
|
|
|
class ResolvedOuterRef(F):
|
|
name: str
|
|
def as_sql(self, *args: Any, **kwargs: Any) -> Any: ...
|
|
def relabeled_clone(self, relabels: OrderedDict) -> ResolvedOuterRef: ...
|
|
|
|
class OuterRef(F):
|
|
name: str
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> F: ...
|
|
|
|
class Func(SQLiteNumericMixin, Expression):
|
|
function: Any = ...
|
|
template: str = ...
|
|
arg_joiner: str = ...
|
|
arity: Any = ...
|
|
source_expressions: Any = ...
|
|
extra: Any = ...
|
|
def __init__(self, *expressions: Any, output_field: Optional[Any] = ..., **extra: Any) -> None: ...
|
|
def get_source_expressions(self) -> List[Combinable]: ...
|
|
def set_source_expressions(self, exprs: List[Expression]) -> None: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[Any]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Func: ...
|
|
def as_sql(
|
|
self,
|
|
compiler: SQLCompiler,
|
|
connection: DatabaseWrapper,
|
|
function: Optional[str] = ...,
|
|
template: Optional[str] = ...,
|
|
arg_joiner: Optional[str] = ...,
|
|
**extra_context: Any
|
|
) -> Tuple[str, List[float]]: ...
|
|
def copy(self) -> Func: ...
|
|
|
|
class Value(Expression):
|
|
value: Any = ...
|
|
def __init__(self, value: Any, output_field: Optional[Field] = ...) -> None: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[float]]: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Value: ...
|
|
def get_group_by_cols(self) -> List[Any]: ...
|
|
|
|
class DurationValue(Value):
|
|
output_field: DurationField
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[Any]]: ...
|
|
|
|
class RawSQL(Expression):
|
|
output_field: Field
|
|
params: List[Any]
|
|
sql: str
|
|
def __init__(self, sql: str, params: Union[List[int], List[str], Tuple], output_field: None = ...) -> None: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[str]]: ...
|
|
def get_group_by_cols(self) -> List[RawSQL]: ...
|
|
def __hash__(self): ...
|
|
|
|
class Star(Expression):
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[Any]]: ...
|
|
|
|
class Random(Expression):
|
|
output_field: Any = ...
|
|
def as_sql(self, compiler: Any, connection: Any): ...
|
|
|
|
class Col(Expression):
|
|
output_field: Field
|
|
contains_column_references: bool = ...
|
|
def __init__(self, alias: str, target: Union[Field, str], output_field: Optional[Field] = ...) -> None: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[Any]]: ...
|
|
def relabeled_clone(self, relabels: Union[Dict[str, str], OrderedDict]) -> Col: ...
|
|
def get_group_by_cols(self) -> List[Col]: ...
|
|
def get_db_converters(self, connection: DatabaseWrapper) -> List[Callable]: ...
|
|
|
|
class Ref(Expression):
|
|
def __init__(self, refs: str, source: Expression) -> None: ...
|
|
def get_source_expressions(self) -> Union[List[Expression], List[SQLiteNumericMixin]]: ...
|
|
def set_source_expressions(self, exprs: Any) -> None: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: None = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Ref: ...
|
|
def relabeled_clone(self, relabels: Dict[Optional[str], str]) -> Ref: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[Any]]: ...
|
|
def get_group_by_cols(self): ...
|
|
|
|
class ExpressionList(Func):
|
|
template: str = ...
|
|
def __init__(self, *expressions: Any, **extra: Any) -> None: ...
|
|
|
|
class ExpressionWrapper(Expression):
|
|
expression: Any = ...
|
|
def __init__(self, expression: Union[CombinedExpression, Q], output_field: Field) -> None: ...
|
|
def set_source_expressions(self, exprs: Union[List[CombinedExpression], List[WhereNode]]) -> None: ...
|
|
def get_source_expressions(self) -> Union[List[CombinedExpression], List[Node]]: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[Any]]: ...
|
|
|
|
class When(Expression):
|
|
template: str = ...
|
|
condition: Any = ...
|
|
result: Any = ...
|
|
def __init__(self, condition: Any = ..., then: Any = ..., **lookups: Any) -> None: ...
|
|
def get_source_expressions(self) -> List[Union[Expression, WhereNode]]: ...
|
|
def set_source_expressions(self, exprs: List[Union[Expression, WhereNode]]) -> None: ...
|
|
def get_source_fields(self) -> Union[List[None], List[Field]]: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> When: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper, template: None = ..., **extra_context: Any
|
|
) -> Tuple[str, List[Union[int, str]]]: ...
|
|
def get_group_by_cols(self) -> List[Col]: ...
|
|
|
|
class Case(Expression):
|
|
template: str = ...
|
|
case_joiner: str = ...
|
|
cases: Any = ...
|
|
default: Any = ...
|
|
extra: Any = ...
|
|
def __init__(
|
|
self, *cases: Any, default: Optional[Any] = ..., output_field: Optional[Any] = ..., **extra: Any
|
|
) -> None: ...
|
|
def get_source_expressions(self) -> List[Expression]: ...
|
|
def set_source_expressions(self, exprs: List[Expression]) -> None: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[Any]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Case: ...
|
|
def copy(self) -> Case: ...
|
|
def as_sql(
|
|
self,
|
|
compiler: SQLCompiler,
|
|
connection: DatabaseWrapper,
|
|
template: None = ...,
|
|
case_joiner: None = ...,
|
|
**extra_context: Any
|
|
) -> Tuple[str, List[Union[int, str]]]: ...
|
|
|
|
class Subquery(Expression):
|
|
template: str = ...
|
|
queryset: QuerySet = ...
|
|
extra: Dict[Any, Any] = ...
|
|
def __init__(self, queryset: QuerySet, output_field: Optional[Field] = ..., **extra: Any) -> None: ...
|
|
def copy(self) -> Subquery: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[Any]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Subquery: ...
|
|
def get_source_expressions(self) -> List[Col]: ...
|
|
def relabeled_clone(self, change_map: OrderedDict) -> Subquery: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper, template: None = ..., **extra_context: Any
|
|
) -> Tuple[str, Tuple]: ...
|
|
|
|
class Exists(Subquery):
|
|
extra: Dict[Any, Any]
|
|
template: str = ...
|
|
negated: bool = ...
|
|
def __init__(self, *args: Any, negated: bool = ..., **kwargs: Any) -> None: ...
|
|
def __invert__(self) -> Exists: ...
|
|
def resolve_expression(self, query: Query = ..., *args: Any, **kwargs: Any) -> Exists: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper, template: None = ..., **extra_context: Any
|
|
) -> Tuple[str, Tuple]: ...
|
|
def as_oracle(self, compiler: Any, connection: Any, template: Optional[Any] = ..., **extra_context: Any): ...
|
|
|
|
class OrderBy(BaseExpression):
|
|
template: str = ...
|
|
nulls_first: bool = ...
|
|
nulls_last: bool = ...
|
|
descending: bool = ...
|
|
expression: Expression = ...
|
|
def __init__(
|
|
self, expression: Combinable, descending: bool = ..., nulls_first: bool = ..., nulls_last: bool = ...
|
|
) -> None: ...
|
|
def set_source_expressions(self, exprs: List[Expression]) -> None: ...
|
|
def get_source_expressions(self) -> List[Combinable]: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper, template: Optional[str] = ..., **extra_context: Any
|
|
) -> Tuple[str, List[Union[int, str]]]: ...
|
|
def as_sqlite(self, compiler: SQLCompiler, connection: DatabaseWrapper) -> Tuple[str, List[Union[int, str]]]: ...
|
|
def as_mysql(self, compiler: Any, connection: Any): ...
|
|
def get_group_by_cols(self): ...
|
|
def reverse_ordering(self) -> OrderBy: ...
|
|
def asc(self) -> None: ...
|
|
def desc(self) -> None: ...
|
|
|
|
class Window(Expression):
|
|
template: str = ...
|
|
contains_aggregate: bool = ...
|
|
contains_over_clause: bool = ...
|
|
filterable: bool = ...
|
|
partition_by: None = ...
|
|
order_by: None = ...
|
|
frame: None = ...
|
|
source_expression: Expression = ...
|
|
def __init__(
|
|
self,
|
|
expression: Aggregate,
|
|
partition_by: Optional[str] = ...,
|
|
order_by: Optional[Union[OrderBy, str]] = ...,
|
|
frame: None = ...,
|
|
output_field: None = ...,
|
|
) -> None: ...
|
|
def get_source_expressions(self): ...
|
|
def set_source_expressions(self, exprs: List[Optional[DenseRank]]) -> None: ...
|
|
def as_sql(self, compiler: Any, connection: Any, function: Optional[Any] = ..., template: Optional[Any] = ...): ...
|
|
def get_group_by_cols(self) -> List[Any]: ...
|
|
|
|
class WindowFrame(Expression):
|
|
template: str = ...
|
|
start: None = ...
|
|
end: None = ...
|
|
def __init__(self, start: int = ..., end: Optional[int] = ...) -> None: ...
|
|
def set_source_expressions(self, exprs: Any) -> None: ...
|
|
def get_source_expressions(self): ...
|
|
def as_sql(self, compiler: Any, connection: Any): ...
|
|
def get_group_by_cols(self) -> List[Any]: ...
|
|
def window_frame_start_end(self, connection: Any, start: Any, end: Any) -> None: ...
|
|
|
|
class RowRange(WindowFrame):
|
|
end: None
|
|
start: int
|
|
frame_type: str = ...
|
|
def window_frame_start_end(self, connection: Any, start: Any, end: Any): ...
|
|
|
|
class ValueRange(WindowFrame):
|
|
end: int
|
|
start: None
|
|
frame_type: str = ...
|
|
def window_frame_start_end(self, connection: Any, start: Any, end: Any): ...
|