mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-08 21:14:49 +08:00
281 lines
7.3 KiB
Python
281 lines
7.3 KiB
Python
from datetime import datetime
|
|
from typing import Any, List, Optional, Set, Tuple, Union, Callable, Dict
|
|
|
|
from django.db import models
|
|
from django.db.backends.sqlite3.base import DatabaseWrapper
|
|
from django.db.models import Func, Transform
|
|
from django.db.models.expressions import Col, Expression, Combinable
|
|
from django.db.models.fields import Field
|
|
from django.db.models.sql.compiler import SQLCompiler
|
|
from django.db.models.sql.query import Query
|
|
|
|
|
|
class TimezoneMixin:
|
|
tzinfo: Any = ...
|
|
def get_tzname(self) -> Optional[str]: ...
|
|
|
|
class Extract(TimezoneMixin, Transform):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
lookup_name: Optional[str] = ...
|
|
output_field: Any = ...
|
|
tzinfo: None = ...
|
|
def __init__(
|
|
self,
|
|
expression: Union[Expression, str],
|
|
lookup_name: Optional[str] = ...,
|
|
tzinfo: None = ...,
|
|
**extra: Any
|
|
) -> None: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper
|
|
) -> Tuple[str, List[Any]]: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[Any]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> Extract: ...
|
|
|
|
class ExtractYear(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractMonth(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractDay(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractWeek(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractWeekDay(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractQuarter(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractHour(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractMinute(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class ExtractSecond(Extract):
|
|
contains_aggregate: bool
|
|
convert_value: Callable
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
lookup_name: str = ...
|
|
|
|
class Now(Func):
|
|
contains_aggregate: bool
|
|
contains_over_clause: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Any]
|
|
template: str = ...
|
|
output_field: Any = ...
|
|
def as_postgresql(self, compiler: Any, connection: Any): ...
|
|
|
|
class TruncBase(TimezoneMixin, Transform):
|
|
kind: Any = ...
|
|
tzinfo: Any = ...
|
|
def __init__(
|
|
self,
|
|
expression: Union[Col, str],
|
|
output_field: Optional[Field] = ...,
|
|
tzinfo: None = ...,
|
|
**extra: Any
|
|
) -> None: ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper
|
|
) -> Tuple[str, List[Any]]: ...
|
|
def resolve_expression(
|
|
self,
|
|
query: Query = ...,
|
|
allow_joins: bool = ...,
|
|
reuse: Optional[Set[Any]] = ...,
|
|
summarize: bool = ...,
|
|
for_save: bool = ...,
|
|
) -> TruncBase: ...
|
|
def convert_value(
|
|
self,
|
|
value: datetime,
|
|
expression: models.functions.TruncBase,
|
|
connection: DatabaseWrapper,
|
|
) -> datetime: ...
|
|
|
|
class Trunc(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: Union[
|
|
models.fields.DateTimeCheckMixin,
|
|
models.fields.IntegerField,
|
|
]
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
def __init__(
|
|
self,
|
|
expression: str,
|
|
kind: str,
|
|
output_field: Optional[Field] = ...,
|
|
tzinfo: None = ...,
|
|
**extra: Any
|
|
) -> None: ...
|
|
|
|
class TruncYear(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncQuarter(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncMonth(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncWeek(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncDay(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncDate(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
lookup_name: str = ...
|
|
output_field: models.fields.TimeField = ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper
|
|
) -> Tuple[str, List[Any]]: ...
|
|
|
|
class TruncTime(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
lookup_name: str = ...
|
|
output_field: models.fields.DateField = ...
|
|
def as_sql(
|
|
self, compiler: SQLCompiler, connection: DatabaseWrapper
|
|
) -> Tuple[str, List[Any]]: ...
|
|
|
|
class TruncHour(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncMinute(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|
|
|
|
class TruncSecond(TruncBase):
|
|
contains_aggregate: bool
|
|
extra: Dict[Any, Any]
|
|
is_summary: bool
|
|
output_field: models.fields.DateTimeCheckMixin
|
|
source_expressions: List[Combinable]
|
|
tzinfo: None
|
|
kind: str = ...
|