mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-16 08:47:49 +08:00
* Fill remaining missing hints with Any & disallow partial hints * ModelFormatDict -> _ModelFormatDict * Fixes * Add __init__ return hints * Add suppression
255 lines
9.3 KiB
Python
255 lines
9.3 KiB
Python
import datetime
|
|
from decimal import Decimal
|
|
from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Sequence, Set, Tuple, Type, TypeVar, Union
|
|
|
|
from django.db.backends.base.base import BaseDatabaseWrapper
|
|
from django.db.models import Q
|
|
from django.db.models.fields import Field
|
|
from django.db.models.lookups import Lookup, Transform
|
|
from django.db.models.query import QuerySet
|
|
from django.db.models.sql.compiler import SQLCompiler, _AsSqlType
|
|
from django.db.models.sql.query import Query
|
|
from typing_extensions import Literal
|
|
|
|
class SQLiteNumericMixin:
|
|
def as_sqlite(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper, **extra_context: Any) -> _AsSqlType: ...
|
|
|
|
_Self = TypeVar("_Self")
|
|
_Numeric = Union[float, Decimal]
|
|
|
|
class Combinable:
|
|
ADD: str = ...
|
|
SUB: str = ...
|
|
MUL: str = ...
|
|
DIV: str = ...
|
|
POW: str = ...
|
|
MOD: str = ...
|
|
BITAND: str = ...
|
|
BITOR: str = ...
|
|
BITLEFTSHIFT: str = ...
|
|
BITRIGHTSHIFT: str = ...
|
|
BITXOR: str = ...
|
|
def __neg__(self) -> CombinedExpression: ...
|
|
def __add__(self, other: Optional[Union[datetime.timedelta, Combinable, _Numeric, str]]) -> CombinedExpression: ...
|
|
def __sub__(self, other: Union[datetime.timedelta, Combinable, _Numeric]) -> CombinedExpression: ...
|
|
def __mul__(self, other: Union[datetime.timedelta, Combinable, _Numeric]) -> CombinedExpression: ...
|
|
def __truediv__(self, other: Union[Combinable, _Numeric]) -> CombinedExpression: ...
|
|
def __mod__(self, other: Union[int, Combinable]) -> CombinedExpression: ...
|
|
def __pow__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ...
|
|
def __and__(self, other: Union[Combinable, Q]) -> Q: ...
|
|
def bitand(self, other: int) -> CombinedExpression: ...
|
|
def bitleftshift(self, other: int) -> CombinedExpression: ...
|
|
def bitrightshift(self, other: int) -> CombinedExpression: ...
|
|
def bitxor(self, other: int) -> CombinedExpression: ...
|
|
def __or__(self, other: Union[Combinable, Q]) -> Q: ...
|
|
def bitor(self, other: int) -> CombinedExpression: ...
|
|
def __radd__(self, other: Optional[Union[datetime.datetime, _Numeric, Combinable]]) -> CombinedExpression: ...
|
|
def __rsub__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ...
|
|
def __rmul__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ...
|
|
def __rtruediv__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ...
|
|
def __rmod__(self, other: Union[int, Combinable]) -> CombinedExpression: ...
|
|
def __rpow__(self, other: Union[_Numeric, Combinable]) -> CombinedExpression: ...
|
|
def __rand__(self, other: Any) -> Combinable: ...
|
|
def __ror__(self, other: Any) -> Combinable: ...
|
|
|
|
_SelfB = TypeVar("_SelfB", bound="BaseExpression")
|
|
|
|
class BaseExpression:
|
|
is_summary: bool = ...
|
|
filterable: bool = ...
|
|
window_compatible: bool = ...
|
|
def __init__(self, output_field: Optional[Field] = ...) -> None: ...
|
|
def get_db_converters(self, connection: BaseDatabaseWrapper) -> List[Callable]: ...
|
|
def get_source_expressions(self) -> List[Any]: ...
|
|
def set_source_expressions(self, exprs: Sequence[Combinable]) -> None: ...
|
|
@property
|
|
def contains_aggregate(self) -> bool: ...
|
|
@property
|
|
def contains_over_clause(self) -> bool: ...
|
|
@property
|
|
def contains_column_references(self) -> bool: ...
|
|
def resolve_expression(
|
|
self: _SelfB,
|
|
query: Any = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> _SelfB: ...
|
|
@property
|
|
def conditional(self) -> bool: ...
|
|
@property
|
|
def field(self) -> Field: ...
|
|
@property
|
|
def output_field(self) -> Field: ...
|
|
@property
|
|
def convert_value(self) -> Callable: ...
|
|
def get_lookup(self, lookup: str) -> Optional[Type[Lookup]]: ...
|
|
def get_transform(self, name: str) -> Optional[Type[Transform]]: ...
|
|
def relabeled_clone(self: _SelfB, change_map: Dict[Optional[str], str]) -> _SelfB: ...
|
|
def copy(self: _SelfB) -> _SelfB: ...
|
|
def get_group_by_cols(self: _SelfB, alias: Optional[str] = ...) -> List[_SelfB]: ...
|
|
def get_source_fields(self) -> List[Optional[Field]]: ...
|
|
def asc(
|
|
self,
|
|
*,
|
|
descending: bool = ...,
|
|
nulls_first: bool = ...,
|
|
nulls_last: bool = ...,
|
|
) -> OrderBy: ...
|
|
def desc(
|
|
self,
|
|
*,
|
|
nulls_first: bool = ...,
|
|
nulls_last: bool = ...,
|
|
) -> OrderBy: ...
|
|
def reverse_ordering(self) -> BaseExpression: ...
|
|
def flatten(self) -> Iterator[BaseExpression]: ...
|
|
def as_sql(self, compiler: SQLCompiler, connection: BaseDatabaseWrapper) -> _AsSqlType: ...
|
|
def deconstruct(self) -> Any: ... # fake
|
|
|
|
class Expression(BaseExpression, Combinable): ...
|
|
|
|
class CombinedExpression(SQLiteNumericMixin, Expression):
|
|
connector: str = ...
|
|
lhs: Combinable = ...
|
|
rhs: Combinable = ...
|
|
def __init__(
|
|
self, lhs: Combinable, connector: str, rhs: Combinable, output_field: Optional[Field] = ...
|
|
) -> None: ...
|
|
|
|
class F(Combinable):
|
|
name: str
|
|
def __init__(self, name: str) -> None: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Any = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[str]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> F: ...
|
|
def asc(
|
|
self,
|
|
*,
|
|
descending: bool = ...,
|
|
nulls_first: bool = ...,
|
|
nulls_last: bool = ...,
|
|
) -> OrderBy: ...
|
|
def desc(
|
|
self,
|
|
*,
|
|
nulls_first: bool = ...,
|
|
nulls_last: bool = ...,
|
|
) -> OrderBy: ...
|
|
def deconstruct(self) -> Any: ... # fake
|
|
|
|
class ResolvedOuterRef(F): ...
|
|
|
|
class OuterRef(F):
|
|
def __init__(self, name: Union[str, OuterRef]) -> None: ...
|
|
contains_aggregate: bool
|
|
def relabeled_clone(self: _Self, relabels: Any) -> _Self: ...
|
|
|
|
class Subquery(BaseExpression, Combinable):
|
|
template: str = ...
|
|
query: Query = ...
|
|
extra: Dict[Any, Any] = ...
|
|
def __init__(self, queryset: Union[Query, QuerySet], output_field: Optional[Field] = ..., **extra: Any) -> None: ...
|
|
|
|
class Exists(Subquery):
|
|
negated: bool = ...
|
|
def __init__(self, queryset: Union[Query, QuerySet], negated: bool = ..., **kwargs: Any) -> None: ...
|
|
def __invert__(self) -> Exists: ...
|
|
|
|
class OrderBy(Expression):
|
|
template: str = ...
|
|
nulls_first: bool = ...
|
|
nulls_last: bool = ...
|
|
descending: bool = ...
|
|
expression: Union[Expression, F, Subquery] = ...
|
|
def __init__(
|
|
self,
|
|
expression: Union[Expression, F, Subquery],
|
|
descending: bool = ...,
|
|
nulls_first: bool = ...,
|
|
nulls_last: bool = ...,
|
|
) -> None: ...
|
|
|
|
class Value(Expression):
|
|
value: Any = ...
|
|
def __init__(self, value: Any, output_field: Optional[Field] = ...) -> None: ...
|
|
|
|
class RawSQL(Expression):
|
|
params: List[Any]
|
|
sql: str
|
|
def __init__(self, sql: str, params: Sequence[Any], output_field: Optional[Field] = ...) -> None: ...
|
|
|
|
class Func(SQLiteNumericMixin, Expression):
|
|
function: str = ...
|
|
name: str = ...
|
|
template: str = ...
|
|
arg_joiner: str = ...
|
|
arity: Optional[int] = ...
|
|
source_expressions: List[Expression] = ...
|
|
extra: Dict[Any, Any] = ...
|
|
def __init__(self, *expressions: Any, output_field: Optional[Field] = ..., **extra: Any) -> None: ...
|
|
|
|
class When(Expression):
|
|
template: str = ...
|
|
condition: Any = ...
|
|
result: Any = ...
|
|
def __init__(self, condition: Any = ..., then: Any = ..., **lookups: Any) -> None: ...
|
|
|
|
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[Field] = ..., **extra: Any
|
|
) -> None: ...
|
|
|
|
class ExpressionWrapper(Expression):
|
|
def __init__(self, expression: Union[Q, Combinable], output_field: Field) -> None: ...
|
|
|
|
class Col(Expression):
|
|
target: Field
|
|
alias: str
|
|
contains_column_references: Literal[True] = ...
|
|
possibly_multivalued: Literal[False] = ...
|
|
def __init__(self, alias: str, target: Field, output_field: Optional[Field] = ...) -> None: ...
|
|
|
|
class Ref(Expression):
|
|
def __init__(self, refs: str, source: Expression) -> None: ...
|
|
|
|
class ExpressionList(Func):
|
|
def __init__(self, *expressions: Union[BaseExpression, Combinable], **extra: Any) -> None: ...
|
|
|
|
class Window(SQLiteNumericMixin, Expression):
|
|
template: str = ...
|
|
contains_aggregate: bool = ...
|
|
contains_over_clause: bool = ...
|
|
partition_by: Optional[ExpressionList]
|
|
order_by: Optional[ExpressionList]
|
|
def __init__(
|
|
self,
|
|
expression: BaseExpression,
|
|
partition_by: Optional[Union[str, Iterable[Union[BaseExpression, F]], F, BaseExpression]] = ...,
|
|
order_by: Optional[Union[Sequence[Union[BaseExpression, F]], Union[BaseExpression, F]]] = ...,
|
|
frame: Optional[WindowFrame] = ...,
|
|
output_field: Optional[Field] = ...,
|
|
) -> None: ...
|
|
|
|
class WindowFrame(Expression):
|
|
template: str = ...
|
|
frame_type: str = ...
|
|
def __init__(self, start: Optional[int] = ..., end: Optional[int] = ...) -> None: ...
|
|
def window_frame_start_end(
|
|
self, connection: BaseDatabaseWrapper, start: Optional[int], end: Optional[int]
|
|
) -> Tuple[int, int]: ...
|
|
|
|
class RowRange(WindowFrame): ...
|
|
class ValueRange(WindowFrame): ...
|