mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-07 20:54:29 +08:00
fix some stubs
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import Any, Callable, Dict, List, Optional, Sequence, Set, Tuple, Type, Union, Iterator
|
from typing import Any, Callable, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Type, Union
|
||||||
|
|
||||||
from django.contrib.admin.filters import ListFilter
|
from django.contrib.admin.filters import ListFilter
|
||||||
from django.contrib.admin.models import LogEntry
|
from django.contrib.admin.models import LogEntry
|
||||||
@@ -8,7 +8,6 @@ from django.contrib.admin.views.main import ChangeList
|
|||||||
from django.contrib.auth.forms import AdminPasswordChangeForm
|
from django.contrib.auth.forms import AdminPasswordChangeForm
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.core.checks.messages import Error
|
from django.core.checks.messages import Error
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
|
||||||
from django.core.paginator import Paginator
|
from django.core.paginator import Paginator
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
from django.db.models.fields.related import ForeignKey, ManyToManyField, RelatedField
|
from django.db.models.fields.related import ForeignKey, ManyToManyField, RelatedField
|
||||||
@@ -17,12 +16,13 @@ from django.db.models.query import QuerySet
|
|||||||
from django.forms.fields import TypedChoiceField
|
from django.forms.fields import TypedChoiceField
|
||||||
from django.forms.models import ModelChoiceField, ModelMultipleChoiceField
|
from django.forms.models import ModelChoiceField, ModelMultipleChoiceField
|
||||||
from django.forms.widgets import Media
|
from django.forms.widgets import Media
|
||||||
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse, HttpResponseBase, HttpResponseRedirect, JsonResponse
|
from django.http.response import HttpResponse, HttpResponseBase, HttpResponseRedirect, JsonResponse
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
from django.urls.resolvers import URLPattern
|
from django.urls.resolvers import URLPattern
|
||||||
from django.utils.safestring import SafeText
|
from django.utils.safestring import SafeText
|
||||||
|
|
||||||
from django.db.models.fields import Field
|
from django.db.models.fields import Field
|
||||||
from django.template.response import TemplateResponse
|
|
||||||
|
|
||||||
IS_POPUP_VAR: str
|
IS_POPUP_VAR: str
|
||||||
TO_FIELD_VAR: str
|
TO_FIELD_VAR: str
|
||||||
@@ -58,40 +58,40 @@ class BaseModelAdmin:
|
|||||||
def check(self, **kwargs: Any) -> List[Union[str, Error]]: ...
|
def check(self, **kwargs: Any) -> List[Union[str, Error]]: ...
|
||||||
def __init__(self) -> None: ...
|
def __init__(self) -> None: ...
|
||||||
def formfield_for_dbfield(
|
def formfield_for_dbfield(
|
||||||
self, db_field: Field, request: Optional[WSGIRequest], **kwargs: Any
|
self, db_field: Field, request: Optional[HttpRequest], **kwargs: Any
|
||||||
) -> Optional[Field]: ...
|
) -> Optional[Field]: ...
|
||||||
def formfield_for_choice_field(
|
def formfield_for_choice_field(
|
||||||
self, db_field: Field, request: Optional[WSGIRequest], **kwargs: Any
|
self, db_field: Field, request: Optional[HttpRequest], **kwargs: Any
|
||||||
) -> TypedChoiceField: ...
|
) -> TypedChoiceField: ...
|
||||||
def get_field_queryset(
|
def get_field_queryset(
|
||||||
self, db: None, db_field: RelatedField, request: Optional[WSGIRequest]
|
self, db: None, db_field: RelatedField, request: Optional[HttpRequest]
|
||||||
) -> Optional[QuerySet]: ...
|
) -> Optional[QuerySet]: ...
|
||||||
def formfield_for_foreignkey(
|
def formfield_for_foreignkey(
|
||||||
self, db_field: ForeignKey, request: Optional[WSGIRequest], **kwargs: Any
|
self, db_field: ForeignKey, request: Optional[HttpRequest], **kwargs: Any
|
||||||
) -> Optional[ModelChoiceField]: ...
|
) -> Optional[ModelChoiceField]: ...
|
||||||
def formfield_for_manytomany(
|
def formfield_for_manytomany(
|
||||||
self, db_field: ManyToManyField, request: Optional[WSGIRequest], **kwargs: Any
|
self, db_field: ManyToManyField, request: Optional[HttpRequest], **kwargs: Any
|
||||||
) -> ModelMultipleChoiceField: ...
|
) -> ModelMultipleChoiceField: ...
|
||||||
def get_autocomplete_fields(self, request: WSGIRequest) -> Tuple: ...
|
def get_autocomplete_fields(self, request: HttpRequest) -> Tuple: ...
|
||||||
def get_view_on_site_url(self, obj: Optional[Model] = ...) -> Optional[str]: ...
|
def get_view_on_site_url(self, obj: Optional[Model] = ...) -> Optional[str]: ...
|
||||||
def get_empty_value_display(self) -> SafeText: ...
|
def get_empty_value_display(self) -> SafeText: ...
|
||||||
def get_exclude(self, request: WSGIRequest, obj: Optional[Model] = ...) -> Any: ...
|
def get_exclude(self, request: HttpRequest, obj: Optional[Model] = ...) -> Any: ...
|
||||||
def get_fields(self, request: WSGIRequest, obj: Optional[Model] = ...) -> Sequence[Union[Callable, str]]: ...
|
def get_fields(self, request: HttpRequest, obj: Optional[Model] = ...) -> Sequence[Union[Callable, str]]: ...
|
||||||
def get_fieldsets(
|
def get_fieldsets(
|
||||||
self, request: WSGIRequest, obj: Optional[Model] = ...
|
self, request: HttpRequest, obj: Optional[Model] = ...
|
||||||
) -> List[Tuple[Optional[str], Dict[str, Any]]]: ...
|
) -> List[Tuple[Optional[str], Dict[str, Any]]]: ...
|
||||||
def get_ordering(self, request: WSGIRequest) -> Union[List[str], Tuple]: ...
|
def get_ordering(self, request: HttpRequest) -> Union[List[str], Tuple]: ...
|
||||||
def get_readonly_fields(self, request: WSGIRequest, obj: Optional[Model] = ...) -> Union[List[str], Tuple]: ...
|
def get_readonly_fields(self, request: HttpRequest, obj: Optional[Model] = ...) -> Union[List[str], Tuple]: ...
|
||||||
def get_prepopulated_fields(self, request: WSGIRequest, obj: Optional[Model] = ...) -> Dict[str, Tuple[str]]: ...
|
def get_prepopulated_fields(self, request: HttpRequest, obj: Optional[Model] = ...) -> Dict[str, Tuple[str]]: ...
|
||||||
def get_queryset(self, request: WSGIRequest) -> QuerySet: ...
|
def get_queryset(self, request: HttpRequest) -> QuerySet: ...
|
||||||
def get_sortable_by(self, request: WSGIRequest) -> Union[List[Callable], List[str], Tuple]: ...
|
def get_sortable_by(self, request: HttpRequest) -> Union[List[Callable], List[str], Tuple]: ...
|
||||||
def lookup_allowed(self, lookup: str, value: str) -> bool: ...
|
def lookup_allowed(self, lookup: str, value: str) -> bool: ...
|
||||||
def to_field_allowed(self, request: WSGIRequest, to_field: str) -> bool: ...
|
def to_field_allowed(self, request: HttpRequest, to_field: str) -> bool: ...
|
||||||
def has_add_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
def has_add_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||||
def has_change_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
def has_change_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||||
def has_delete_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
def has_delete_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||||
def has_view_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
def has_view_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||||
def has_module_permission(self, request: WSGIRequest) -> bool: ...
|
def has_module_permission(self, request: HttpRequest) -> bool: ...
|
||||||
|
|
||||||
class ModelAdmin(BaseModelAdmin):
|
class ModelAdmin(BaseModelAdmin):
|
||||||
formfield_overrides: Any
|
formfield_overrides: Any
|
||||||
@@ -127,54 +127,54 @@ class ModelAdmin(BaseModelAdmin):
|
|||||||
opts: Options = ...
|
opts: Options = ...
|
||||||
admin_site: AdminSite = ...
|
admin_site: AdminSite = ...
|
||||||
def __init__(self, model: Type[Model], admin_site: Optional[AdminSite]) -> None: ...
|
def __init__(self, model: Type[Model], admin_site: Optional[AdminSite]) -> None: ...
|
||||||
def get_inline_instances(self, request: WSGIRequest, obj: Optional[Model] = ...) -> List[InlineModelAdmin]: ...
|
def get_inline_instances(self, request: HttpRequest, obj: Optional[Model] = ...) -> List[InlineModelAdmin]: ...
|
||||||
def get_urls(self) -> List[URLPattern]: ...
|
def get_urls(self) -> List[URLPattern]: ...
|
||||||
@property
|
@property
|
||||||
def urls(self) -> List[URLPattern]: ...
|
def urls(self) -> List[URLPattern]: ...
|
||||||
@property
|
@property
|
||||||
def media(self) -> Media: ...
|
def media(self) -> Media: ...
|
||||||
def get_model_perms(self, request: WSGIRequest) -> Dict[str, bool]: ...
|
def get_model_perms(self, request: HttpRequest) -> Dict[str, bool]: ...
|
||||||
def get_form(self, request: Any, obj: Optional[Any] = ..., change: bool = ..., **kwargs: Any): ...
|
def get_form(self, request: Any, obj: Optional[Any] = ..., change: bool = ..., **kwargs: Any): ...
|
||||||
def get_changelist(self, request: WSGIRequest, **kwargs: Any) -> Type[ChangeList]: ...
|
def get_changelist(self, request: HttpRequest, **kwargs: Any) -> Type[ChangeList]: ...
|
||||||
def get_changelist_instance(self, request: WSGIRequest) -> ChangeList: ...
|
def get_changelist_instance(self, request: HttpRequest) -> ChangeList: ...
|
||||||
def get_object(self, request: WSGIRequest, object_id: str, from_field: None = ...) -> Optional[Model]: ...
|
def get_object(self, request: HttpRequest, object_id: str, from_field: None = ...) -> Optional[Model]: ...
|
||||||
def get_changelist_form(self, request: Any, **kwargs: Any): ...
|
def get_changelist_form(self, request: Any, **kwargs: Any): ...
|
||||||
def get_changelist_formset(self, request: Any, **kwargs: Any): ...
|
def get_changelist_formset(self, request: Any, **kwargs: Any): ...
|
||||||
def get_formsets_with_inlines(self, request: WSGIRequest, obj: Optional[Model] = ...) -> Iterator[Any]: ...
|
def get_formsets_with_inlines(self, request: HttpRequest, obj: Optional[Model] = ...) -> Iterator[Any]: ...
|
||||||
def get_paginator(
|
def get_paginator(
|
||||||
self,
|
self,
|
||||||
request: WSGIRequest,
|
request: HttpRequest,
|
||||||
queryset: QuerySet,
|
queryset: QuerySet,
|
||||||
per_page: int,
|
per_page: int,
|
||||||
orphans: int = ...,
|
orphans: int = ...,
|
||||||
allow_empty_first_page: bool = ...,
|
allow_empty_first_page: bool = ...,
|
||||||
) -> Paginator: ...
|
) -> Paginator: ...
|
||||||
def log_addition(self, request: WSGIRequest, object: Model, message: Any) -> LogEntry: ...
|
def log_addition(self, request: HttpRequest, object: Model, message: Any) -> LogEntry: ...
|
||||||
def log_change(self, request: WSGIRequest, object: Model, message: Any) -> LogEntry: ...
|
def log_change(self, request: HttpRequest, object: Model, message: Any) -> LogEntry: ...
|
||||||
def log_deletion(self, request: WSGIRequest, object: Model, object_repr: str) -> LogEntry: ...
|
def log_deletion(self, request: HttpRequest, object: Model, object_repr: str) -> LogEntry: ...
|
||||||
def action_checkbox(self, obj: Model) -> SafeText: ...
|
def action_checkbox(self, obj: Model) -> SafeText: ...
|
||||||
def get_actions(self, request: WSGIRequest) -> OrderedDict: ...
|
def get_actions(self, request: HttpRequest) -> OrderedDict: ...
|
||||||
def get_action_choices(
|
def get_action_choices(
|
||||||
self, request: WSGIRequest, default_choices: List[Tuple[str, str]] = ...
|
self, request: HttpRequest, default_choices: List[Tuple[str, str]] = ...
|
||||||
) -> List[Tuple[str, str]]: ...
|
) -> List[Tuple[str, str]]: ...
|
||||||
def get_action(self, action: Union[Callable, str]) -> Tuple[Callable, str, str]: ...
|
def get_action(self, action: Union[Callable, str]) -> Tuple[Callable, str, str]: ...
|
||||||
def get_list_display(self, request: WSGIRequest) -> Sequence[str]: ...
|
def get_list_display(self, request: HttpRequest) -> Sequence[str]: ...
|
||||||
def get_list_display_links(self, request: WSGIRequest, list_display: Sequence[str]) -> Optional[Sequence[str]]: ...
|
def get_list_display_links(self, request: HttpRequest, list_display: Sequence[str]) -> Optional[Sequence[str]]: ...
|
||||||
def get_list_filter(self, request: WSGIRequest) -> Sequence[str]: ...
|
def get_list_filter(self, request: HttpRequest) -> Sequence[str]: ...
|
||||||
def get_list_select_related(self, request: WSGIRequest) -> Sequence[str]: ...
|
def get_list_select_related(self, request: HttpRequest) -> Sequence[str]: ...
|
||||||
def get_search_fields(self, request: WSGIRequest) -> List[str]: ...
|
def get_search_fields(self, request: HttpRequest) -> List[str]: ...
|
||||||
def get_search_results(
|
def get_search_results(
|
||||||
self, request: WSGIRequest, queryset: QuerySet, search_term: str
|
self, request: HttpRequest, queryset: QuerySet, search_term: str
|
||||||
) -> Tuple[QuerySet, bool]: ...
|
) -> Tuple[QuerySet, bool]: ...
|
||||||
def get_preserved_filters(self, request: WSGIRequest) -> str: ...
|
def get_preserved_filters(self, request: HttpRequest) -> str: ...
|
||||||
def _get_edited_object_pks(self, request: WSGIRequest, prefix: str) -> List[str]: ...
|
def _get_edited_object_pks(self, request: HttpRequest, prefix: str) -> List[str]: ...
|
||||||
def _get_list_editable_queryset(self, request: WSGIRequest, prefix: str) -> QuerySet: ...
|
def _get_list_editable_queryset(self, request: HttpRequest, prefix: str) -> QuerySet: ...
|
||||||
def construct_change_message(
|
def construct_change_message(
|
||||||
self, request: WSGIRequest, form: AdminPasswordChangeForm, formsets: None, add: bool = ...
|
self, request: HttpRequest, form: AdminPasswordChangeForm, formsets: None, add: bool = ...
|
||||||
) -> List[Dict[str, Dict[str, List[str]]]]: ...
|
) -> List[Dict[str, Dict[str, List[str]]]]: ...
|
||||||
def message_user(
|
def message_user(
|
||||||
self,
|
self,
|
||||||
request: WSGIRequest,
|
request: HttpRequest,
|
||||||
message: str,
|
message: str,
|
||||||
level: Union[int, str] = ...,
|
level: Union[int, str] = ...,
|
||||||
extra_tags: str = ...,
|
extra_tags: str = ...,
|
||||||
@@ -182,8 +182,8 @@ class ModelAdmin(BaseModelAdmin):
|
|||||||
) -> None: ...
|
) -> None: ...
|
||||||
def save_form(self, request: Any, form: Any, change: Any): ...
|
def save_form(self, request: Any, form: Any, change: Any): ...
|
||||||
def save_model(self, request: Any, obj: Any, form: Any, change: Any) -> None: ...
|
def save_model(self, request: Any, obj: Any, form: Any, change: Any) -> None: ...
|
||||||
def delete_model(self, request: WSGIRequest, obj: Model) -> None: ...
|
def delete_model(self, request: HttpRequest, obj: Model) -> None: ...
|
||||||
def delete_queryset(self, request: WSGIRequest, queryset: QuerySet) -> None: ...
|
def delete_queryset(self, request: HttpRequest, queryset: QuerySet) -> None: ...
|
||||||
def save_formset(self, request: Any, form: Any, formset: Any, change: Any) -> None: ...
|
def save_formset(self, request: Any, form: Any, formset: Any, change: Any) -> None: ...
|
||||||
def save_related(self, request: Any, form: Any, formsets: Any, change: Any) -> None: ...
|
def save_related(self, request: Any, form: Any, formsets: Any, change: Any) -> None: ...
|
||||||
def render_change_form(
|
def render_change_form(
|
||||||
@@ -196,52 +196,51 @@ class ModelAdmin(BaseModelAdmin):
|
|||||||
obj: Optional[Any] = ...,
|
obj: Optional[Any] = ...,
|
||||||
): ...
|
): ...
|
||||||
def response_add(
|
def response_add(
|
||||||
self, request: WSGIRequest, obj: Model, post_url_continue: Optional[str] = ...
|
self, request: HttpRequest, obj: Model, post_url_continue: Optional[str] = ...
|
||||||
) -> HttpResponse: ...
|
) -> HttpResponse: ...
|
||||||
def response_change(self, request: WSGIRequest, obj: Model) -> HttpResponse: ...
|
def response_change(self, request: HttpRequest, obj: Model) -> HttpResponse: ...
|
||||||
def response_post_save_add(self, request: WSGIRequest, obj: Model) -> HttpResponseRedirect: ...
|
def response_post_save_add(self, request: HttpRequest, obj: Model) -> HttpResponseRedirect: ...
|
||||||
def response_post_save_change(self, request: WSGIRequest, obj: Model) -> HttpResponseRedirect: ...
|
def response_post_save_change(self, request: HttpRequest, obj: Model) -> HttpResponseRedirect: ...
|
||||||
def response_action(self, request: WSGIRequest, queryset: QuerySet) -> Optional[HttpResponseBase]: ...
|
def response_action(self, request: HttpRequest, queryset: QuerySet) -> Optional[HttpResponseBase]: ...
|
||||||
def response_delete(self, request: WSGIRequest, obj_display: str, obj_id: int) -> HttpResponse: ...
|
def response_delete(self, request: HttpRequest, obj_display: str, obj_id: int) -> HttpResponse: ...
|
||||||
def render_delete_form(self, request: Any, context: Any): ...
|
def render_delete_form(self, request: Any, context: Any): ...
|
||||||
def get_inline_formsets(
|
def get_inline_formsets(
|
||||||
self, request: WSGIRequest, formsets: List[Any], inline_instances: List[Any], obj: Optional[Model] = ...
|
self, request: HttpRequest, formsets: List[Any], inline_instances: List[Any], obj: Optional[Model] = ...
|
||||||
) -> List[Any]: ...
|
) -> List[Any]: ...
|
||||||
def get_changeform_initial_data(self, request: WSGIRequest) -> Dict[str, str]: ...
|
def get_changeform_initial_data(self, request: HttpRequest) -> Dict[str, str]: ...
|
||||||
def changeform_view(
|
def changeform_view(
|
||||||
self,
|
self,
|
||||||
request: WSGIRequest,
|
request: HttpRequest,
|
||||||
object_id: Optional[str] = ...,
|
object_id: Optional[str] = ...,
|
||||||
form_url: str = ...,
|
form_url: str = ...,
|
||||||
extra_context: Optional[Dict[str, bool]] = ...,
|
extra_context: Optional[Dict[str, bool]] = ...,
|
||||||
) -> Any: ...
|
) -> Any: ...
|
||||||
def autocomplete_view(self, request: WSGIRequest) -> JsonResponse: ...
|
def autocomplete_view(self, request: HttpRequest) -> JsonResponse: ...
|
||||||
def add_view(self, request: WSGIRequest, form_url: str = ..., extra_context: None = ...) -> HttpResponse: ...
|
def add_view(self, request: HttpRequest, form_url: str = ..., extra_context: None = ...) -> HttpResponse: ...
|
||||||
def change_view(
|
def change_view(
|
||||||
self, request: WSGIRequest, object_id: str, form_url: str = ..., extra_context: Optional[Dict[str, bool]] = ...
|
self, request: HttpRequest, object_id: str, form_url: str = ..., extra_context: Optional[Dict[str, bool]] = ...
|
||||||
) -> HttpResponse: ...
|
) -> HttpResponse: ...
|
||||||
def changelist_view(
|
def changelist_view(
|
||||||
self, request: WSGIRequest, extra_context: Optional[Dict[str, str]] = ...
|
self, request: HttpRequest, extra_context: Optional[Dict[str, str]] = ...
|
||||||
) -> TemplateResponse: ...
|
) -> TemplateResponse: ...
|
||||||
def get_deleted_objects(
|
def get_deleted_objects(
|
||||||
self, objs: QuerySet, request: WSGIRequest
|
self, objs: QuerySet, request: HttpRequest
|
||||||
) -> Tuple[List[Any], Dict[Any, Any], Set[Any], List[Any]]: ...
|
) -> Tuple[List[Any], Dict[Any, Any], Set[Any], List[Any]]: ...
|
||||||
def delete_view(self, request: WSGIRequest, object_id: str, extra_context: None = ...) -> Any: ...
|
def delete_view(self, request: HttpRequest, object_id: str, extra_context: None = ...) -> Any: ...
|
||||||
def history_view(self, request: WSGIRequest, object_id: str, extra_context: None = ...) -> HttpResponse: ...
|
def history_view(self, request: HttpRequest, object_id: str, extra_context: None = ...) -> HttpResponse: ...
|
||||||
|
|
||||||
class InlineModelAdmin(BaseModelAdmin):
|
class InlineModelAdmin(BaseModelAdmin):
|
||||||
model: Any = ...
|
model: Any = ...
|
||||||
fk_name: Any = ...
|
fk_name: Any = ...
|
||||||
formset: Any = ...
|
formset: Any = ...
|
||||||
extra: int = ...
|
extra: int = ...
|
||||||
min_num: Any = ...
|
min_num: Optional[int] = ...
|
||||||
max_num: Any = ...
|
max_num: Optional[int] = ...
|
||||||
template: Any = ...
|
template: str = ...
|
||||||
verbose_name: Any = ...
|
verbose_name: Optional[str] = ...
|
||||||
verbose_name_plural: Any = ...
|
verbose_name_plural: Optional[str] = ...
|
||||||
can_delete: bool = ...
|
can_delete: bool = ...
|
||||||
show_change_link: bool = ...
|
show_change_link: bool = ...
|
||||||
checks_class: Any = ...
|
|
||||||
classes: Any = ...
|
classes: Any = ...
|
||||||
admin_site: Any = ...
|
admin_site: Any = ...
|
||||||
parent_model: Any = ...
|
parent_model: Any = ...
|
||||||
@@ -250,18 +249,10 @@ class InlineModelAdmin(BaseModelAdmin):
|
|||||||
def __init__(self, parent_model: Union[Type[Model], Model], admin_site: AdminSite) -> None: ...
|
def __init__(self, parent_model: Union[Type[Model], Model], admin_site: AdminSite) -> None: ...
|
||||||
@property
|
@property
|
||||||
def media(self) -> Media: ...
|
def media(self) -> Media: ...
|
||||||
def get_extra(self, request: WSGIRequest, obj: Optional[Model] = ..., **kwargs: Any) -> int: ...
|
def get_extra(self, request: HttpRequest, obj: Optional[Model] = ..., **kwargs: Any) -> int: ...
|
||||||
def get_min_num(self, request: WSGIRequest, obj: Optional[Model] = ..., **kwargs: Any) -> None: ...
|
def get_min_num(self, request: HttpRequest, obj: Optional[Model] = ..., **kwargs: Any) -> Optional[int]: ...
|
||||||
def get_max_num(self, request: WSGIRequest, obj: Optional[Model] = ..., **kwargs: Any) -> Optional[int]: ...
|
def get_max_num(self, request: HttpRequest, obj: Optional[Model] = ..., **kwargs: Any) -> Optional[int]: ...
|
||||||
fields: Any = ...
|
|
||||||
def get_formset(self, request: Any, obj: Optional[Any] = ..., **kwargs: Any): ...
|
def get_formset(self, request: Any, obj: Optional[Any] = ..., **kwargs: Any): ...
|
||||||
def get_queryset(self, request: WSGIRequest) -> QuerySet: ...
|
|
||||||
def has_change_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
|
||||||
def has_delete_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
|
||||||
def has_view_permission(self, request: WSGIRequest, obj: Optional[Model] = ...) -> bool: ...
|
|
||||||
|
|
||||||
class StackedInline(InlineModelAdmin):
|
class StackedInline(InlineModelAdmin): ...
|
||||||
template: str = ...
|
class TabularInline(InlineModelAdmin): ...
|
||||||
|
|
||||||
class TabularInline(InlineModelAdmin):
|
|
||||||
template: str = ...
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse
|
from django.http.response import HttpResponse
|
||||||
from django.utils.deprecation import MiddlewareMixin
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
class RedirectFallbackMiddleware(MiddlewareMixin):
|
class RedirectFallbackMiddleware(MiddlewareMixin):
|
||||||
response_gone_class: Any = ...
|
response_gone_class: Any = ...
|
||||||
response_redirect_class: Any = ...
|
response_redirect_class: Any = ...
|
||||||
def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ...
|
def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ...
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Dict, Optional
|
from typing import Any, Dict, Optional, Type
|
||||||
|
|
||||||
|
from django.contrib.sessions.backends.base import SessionBase
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
class BaseSessionManager(models.Manager):
|
class BaseSessionManager(models.Manager):
|
||||||
creation_counter: int
|
|
||||||
model: None
|
|
||||||
name: None
|
|
||||||
def encode(self, session_dict: Dict[str, int]) -> str: ...
|
def encode(self, session_dict: Dict[str, int]) -> str: ...
|
||||||
def save(self, session_key: str, session_dict: Dict[str, int], expire_date: datetime) -> AbstractBaseSession: ...
|
def save(self, session_key: str, session_dict: Dict[str, int], expire_date: datetime) -> AbstractBaseSession: ...
|
||||||
|
|
||||||
class AbstractBaseSession(models.Model):
|
class AbstractBaseSession(models.Model):
|
||||||
session_key: Any = ...
|
expire_date: datetime
|
||||||
session_data: Any = ...
|
session_data: str
|
||||||
expire_date: Any = ...
|
session_key: str
|
||||||
objects: Any = ...
|
objects: Any = ...
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_session_store_class(cls) -> None: ...
|
def get_session_store_class(cls) -> Optional[Type[SessionBase]]: ...
|
||||||
def get_decoded(self) -> Dict[str, int]: ...
|
def get_decoded(self) -> Dict[str, int]: ...
|
||||||
|
|||||||
@@ -1,18 +1,4 @@
|
|||||||
from typing import Any, Optional, Type
|
|
||||||
|
|
||||||
from django.contrib.sessions.backends.db import SessionStore
|
|
||||||
from django.contrib.sessions.base_session import AbstractBaseSession, BaseSessionManager
|
from django.contrib.sessions.base_session import AbstractBaseSession, BaseSessionManager
|
||||||
|
|
||||||
class SessionManager(BaseSessionManager):
|
class SessionManager(BaseSessionManager): ...
|
||||||
creation_counter: int
|
class Session(AbstractBaseSession): ...
|
||||||
model: None
|
|
||||||
name: None
|
|
||||||
use_in_migrations: bool = ...
|
|
||||||
|
|
||||||
class Session(AbstractBaseSession):
|
|
||||||
expire_date: datetime.datetime
|
|
||||||
session_data: str
|
|
||||||
session_key: str
|
|
||||||
objects: Any = ...
|
|
||||||
@classmethod
|
|
||||||
def get_session_store_class(cls) -> Type[SessionStore]: ...
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Any, Dict, Optional
|
from typing import Dict
|
||||||
|
|
||||||
from django.core.signing import JSONSerializer as BaseJSONSerializer
|
from django.core.signing import JSONSerializer as BaseJSONSerializer
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PING_URL: str
|
|||||||
|
|
||||||
class SitemapNotFound(Exception): ...
|
class SitemapNotFound(Exception): ...
|
||||||
|
|
||||||
def ping_google(sitemap_url: None = ..., ping_url: str = ...) -> None: ...
|
def ping_google(sitemap_url: Optional[str] = ..., ping_url: str = ...) -> None: ...
|
||||||
|
|
||||||
class Sitemap:
|
class Sitemap:
|
||||||
limit: int = ...
|
limit: int = ...
|
||||||
@@ -22,14 +22,14 @@ class Sitemap:
|
|||||||
def paginator(self) -> Paginator: ...
|
def paginator(self) -> Paginator: ...
|
||||||
def get_urls(
|
def get_urls(
|
||||||
self, page: Union[int, str] = ..., site: Optional[Union[Site, RequestSite]] = ..., protocol: Optional[str] = ...
|
self, page: Union[int, str] = ..., site: Optional[Union[Site, RequestSite]] = ..., protocol: Optional[str] = ...
|
||||||
) -> List[Dict[str, Optional[Union[datetime, Model, str]]]]: ...
|
) -> List[Dict[str, Any]]: ...
|
||||||
|
|
||||||
class GenericSitemap(Sitemap):
|
class GenericSitemap(Sitemap):
|
||||||
priority: None = ...
|
priority: Optional[float] = ...
|
||||||
changefreq: None = ...
|
changefreq: Optional[str] = ...
|
||||||
queryset: QuerySet = ...
|
queryset: QuerySet = ...
|
||||||
date_field: None = ...
|
date_field: None = ...
|
||||||
protocol: None = ...
|
protocol: Optional[str] = ...
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
info_dict: Dict[str, Union[datetime, QuerySet, str]],
|
info_dict: Dict[str, Union[datetime, QuerySet, str]],
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import Any, Callable, Dict, Optional, Type, Union
|
from typing import Callable, Dict, Optional, Type, Union
|
||||||
|
|
||||||
|
from django.http.request import HttpRequest
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
|
||||||
from django.contrib.sitemaps import GenericSitemap, Sitemap
|
from django.contrib.sitemaps import GenericSitemap, Sitemap
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
|
||||||
from django.template.response import TemplateResponse
|
|
||||||
|
|
||||||
def x_robots_tag(func: Callable) -> Callable: ...
|
def x_robots_tag(func: Callable) -> Callable: ...
|
||||||
def index(
|
def index(
|
||||||
request: WSGIRequest,
|
request: HttpRequest,
|
||||||
sitemaps: Dict[str, Union[Type[Sitemap], Sitemap]],
|
sitemaps: Dict[str, Union[Type[Sitemap], Sitemap]],
|
||||||
template_name: str = ...,
|
template_name: str = ...,
|
||||||
content_type: str = ...,
|
content_type: str = ...,
|
||||||
sitemap_url_name: str = ...,
|
sitemap_url_name: str = ...,
|
||||||
) -> TemplateResponse: ...
|
) -> TemplateResponse: ...
|
||||||
def sitemap(
|
def sitemap(
|
||||||
request: WSGIRequest,
|
request: HttpRequest,
|
||||||
sitemaps: Union[Dict[str, Type[Sitemap]], Dict[str, GenericSitemap], OrderedDict],
|
sitemaps: Union[Dict[str, Type[Sitemap]], Dict[str, GenericSitemap], OrderedDict],
|
||||||
section: Optional[str] = ...,
|
section: Optional[str] = ...,
|
||||||
template_name: str = ...,
|
template_name: str = ...,
|
||||||
|
|||||||
2
django-stubs/core/cache/__init__.pyi
vendored
2
django-stubs/core/cache/__init__.pyi
vendored
@@ -1,7 +1,7 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import Any, Callable, Dict, Union
|
from typing import Any, Callable, Dict, Union
|
||||||
|
|
||||||
from django.core.cache.backends.base import BaseCache as BaseCache
|
from .backends.base import BaseCache as BaseCache
|
||||||
|
|
||||||
DEFAULT_CACHE_ALIAS: str
|
DEFAULT_CACHE_ALIAS: str
|
||||||
|
|
||||||
|
|||||||
4
django-stubs/core/cache/utils.pyi
vendored
4
django-stubs/core/cache/utils.pyi
vendored
@@ -1,5 +1,5 @@
|
|||||||
from typing import Any, List, Optional, Union
|
from typing import Any, Iterable, Optional
|
||||||
|
|
||||||
TEMPLATE_FRAGMENT_KEY_TEMPLATE: str
|
TEMPLATE_FRAGMENT_KEY_TEMPLATE: str
|
||||||
|
|
||||||
def make_template_fragment_key(fragment_name: str, vary_on: Optional[Union[List[int], List[str]]] = ...) -> str: ...
|
def make_template_fragment_key(fragment_name: str, vary_on: Optional[Iterable[Any]] = ...) -> str: ...
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Callable
|
from typing import Any, Callable
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse, HttpResponseBase
|
from django.http.response import HttpResponse, HttpResponseBase
|
||||||
|
|
||||||
logger: Any
|
logger: Any
|
||||||
@@ -13,5 +13,5 @@ class BaseHandler:
|
|||||||
def load_middleware(self) -> None: ...
|
def load_middleware(self) -> None: ...
|
||||||
def make_view_atomic(self, view: Callable) -> Callable: ...
|
def make_view_atomic(self, view: Callable) -> Callable: ...
|
||||||
def get_exception_response(self, request: Any, resolver: Any, status_code: Any, exception: Any): ...
|
def get_exception_response(self, request: Any, resolver: Any, status_code: Any, exception: Any): ...
|
||||||
def get_response(self, request: WSGIRequest) -> HttpResponseBase: ...
|
def get_response(self, request: HttpRequest) -> HttpResponseBase: ...
|
||||||
def process_exception_by_middleware(self, exception: Exception, request: WSGIRequest) -> HttpResponse: ...
|
def process_exception_by_middleware(self, exception: Exception, request: HttpRequest) -> HttpResponse: ...
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
from typing import Any, Callable
|
from typing import Any, Callable
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse
|
from django.http.response import HttpResponse
|
||||||
from django.urls.resolvers import URLResolver
|
from django.urls.resolvers import URLResolver
|
||||||
|
|
||||||
def convert_exception_to_response(get_response: Callable) -> Callable: ...
|
def convert_exception_to_response(get_response: Callable) -> Callable: ...
|
||||||
def response_for_exception(request: WSGIRequest, exc: Exception) -> HttpResponse: ...
|
def response_for_exception(request: HttpRequest, exc: Exception) -> HttpResponse: ...
|
||||||
def get_exception_response(
|
def get_exception_response(
|
||||||
request: WSGIRequest, resolver: URLResolver, status_code: int, exception: Exception, sender: None = ...
|
request: HttpRequest, resolver: URLResolver, status_code: int, exception: Exception, sender: None = ...
|
||||||
) -> HttpResponse: ...
|
) -> HttpResponse: ...
|
||||||
def handle_uncaught_exception(request: Any, resolver: Any, exc_info: Any): ...
|
def handle_uncaught_exception(request: Any, resolver: Any, exc_info: Any): ...
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
from typing import Any, List, Optional, Tuple
|
from typing import Any, List, Optional, Tuple
|
||||||
|
|
||||||
from django.core.mail.backends.base import BaseEmailBackend
|
from .backends.base import BaseEmailBackend
|
||||||
from django.core.mail.message import DEFAULT_ATTACHMENT_MIME_TYPE as DEFAULT_ATTACHMENT_MIME_TYPE
|
from .message import (
|
||||||
from django.core.mail.message import BadHeaderError as BadHeaderError
|
BadHeaderError as BadHeaderError,
|
||||||
from django.core.mail.message import EmailMessage as EmailMessage
|
DEFAULT_ATTACHMENT_MIME_TYPE as DEFAULT_ATTACHMENT_MIME_TYPE,
|
||||||
from django.core.mail.message import EmailMultiAlternatives as EmailMultiAlternatives
|
EmailMessage as EmailMessage,
|
||||||
from django.core.mail.message import SafeMIMEMultipart as SafeMIMEMultipart
|
EmailMultiAlternatives as EmailMultiAlternatives,
|
||||||
from django.core.mail.message import SafeMIMEText as SafeMIMEText
|
SafeMIMEMultipart as SafeMIMEMultipart,
|
||||||
from django.core.mail.message import forbid_multi_line_headers as forbid_multi_line_headers
|
SafeMIMEText as SafeMIMEText,
|
||||||
from django.core.mail.utils import DNS_NAME as DNS_NAME
|
forbid_multi_line_headers as forbid_multi_line_headers,
|
||||||
from django.core.mail.utils import CachedDnsName as CachedDnsName
|
)
|
||||||
|
from .utils import CachedDnsName as CachedDnsName, DNS_NAME as DNS_NAME
|
||||||
|
|
||||||
def get_connection(backend: Optional[str] = ..., fail_silently: bool = ..., **kwds: Any) -> BaseEmailBackend: ...
|
def get_connection(backend: Optional[str] = ..., fail_silently: bool = ..., **kwds: Any) -> BaseEmailBackend: ...
|
||||||
def send_mail(
|
def send_mail(
|
||||||
@@ -18,17 +19,17 @@ def send_mail(
|
|||||||
from_email: Optional[str],
|
from_email: Optional[str],
|
||||||
recipient_list: List[str],
|
recipient_list: List[str],
|
||||||
fail_silently: bool = ...,
|
fail_silently: bool = ...,
|
||||||
auth_user: None = ...,
|
auth_user: Optional[str] = ...,
|
||||||
auth_password: None = ...,
|
auth_password: Optional[str] = ...,
|
||||||
connection: Optional[BaseEmailBackend] = ...,
|
connection: Optional[BaseEmailBackend] = ...,
|
||||||
html_message: Optional[str] = ...,
|
html_message: Optional[str] = ...,
|
||||||
) -> int: ...
|
) -> int: ...
|
||||||
def send_mass_mail(
|
def send_mass_mail(
|
||||||
datatuple: List[Tuple[str, str, str, List[str]]],
|
datatuple: List[Tuple[str, str, str, List[str]]],
|
||||||
fail_silently: bool = ...,
|
fail_silently: bool = ...,
|
||||||
auth_user: None = ...,
|
auth_user: Optional[str] = ...,
|
||||||
auth_password: None = ...,
|
auth_password: Optional[str] = ...,
|
||||||
connection: BaseEmailBackend = ...,
|
connection: Optional[BaseEmailBackend] = ...,
|
||||||
) -> int: ...
|
) -> int: ...
|
||||||
def mail_admins(
|
def mail_admins(
|
||||||
subject: str,
|
subject: str,
|
||||||
@@ -45,4 +46,4 @@ def mail_managers(
|
|||||||
html_message: Optional[str] = ...,
|
html_message: Optional[str] = ...,
|
||||||
) -> None: ...
|
) -> None: ...
|
||||||
|
|
||||||
outbox = [EmailMessage()]
|
outbox: List[EmailMessage] = ...
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import email
|
from email._policybase import Policy
|
||||||
from email.mime.message import MIMEMessage
|
from email.mime.message import MIMEMessage
|
||||||
from email.mime.multipart import MIMEMultipart
|
from email.mime.multipart import MIMEMultipart
|
||||||
from email.mime.text import MIMEText
|
from email.mime.text import MIMEText
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
from typing import Any, Dict, List, Optional, Tuple, Union, Sequence
|
||||||
|
|
||||||
from django.core.mail.backends.base import BaseEmailBackend
|
from django.core.mail.backends.base import BaseEmailBackend
|
||||||
from django.utils.safestring import SafeText
|
from django.utils.safestring import SafeText
|
||||||
@@ -27,14 +27,14 @@ class MIMEMixin:
|
|||||||
class SafeMIMEMessage(MIMEMixin, MIMEMessage):
|
class SafeMIMEMessage(MIMEMixin, MIMEMessage):
|
||||||
defects: List[Any]
|
defects: List[Any]
|
||||||
epilogue: None
|
epilogue: None
|
||||||
policy: email._policybase.Compat32
|
policy: Policy
|
||||||
preamble: None
|
preamble: None
|
||||||
def __setitem__(self, name: str, val: str) -> None: ...
|
def __setitem__(self, name: str, val: str) -> None: ...
|
||||||
|
|
||||||
class SafeMIMEText(MIMEMixin, MIMEText):
|
class SafeMIMEText(MIMEMixin, MIMEText):
|
||||||
defects: List[Any]
|
defects: List[Any]
|
||||||
epilogue: None
|
epilogue: None
|
||||||
policy: email._policybase.Compat32
|
policy: Policy
|
||||||
preamble: None
|
preamble: None
|
||||||
encoding: str = ...
|
encoding: str = ...
|
||||||
def __init__(self, _text: str, _subtype: str = ..., _charset: str = ...) -> None: ...
|
def __init__(self, _text: str, _subtype: str = ..., _charset: str = ...) -> None: ...
|
||||||
@@ -44,7 +44,7 @@ class SafeMIMEText(MIMEMixin, MIMEText):
|
|||||||
class SafeMIMEMultipart(MIMEMixin, MIMEMultipart):
|
class SafeMIMEMultipart(MIMEMixin, MIMEMultipart):
|
||||||
defects: List[Any]
|
defects: List[Any]
|
||||||
epilogue: None
|
epilogue: None
|
||||||
policy: email._policybase.Compat32
|
policy: Policy
|
||||||
preamble: None
|
preamble: None
|
||||||
encoding: str = ...
|
encoding: str = ...
|
||||||
def __init__(
|
def __init__(
|
||||||
@@ -71,12 +71,12 @@ class EmailMessage:
|
|||||||
subject: str = ...,
|
subject: str = ...,
|
||||||
body: Optional[str] = ...,
|
body: Optional[str] = ...,
|
||||||
from_email: Optional[str] = ...,
|
from_email: Optional[str] = ...,
|
||||||
to: Optional[Union[List[str], Tuple[str, str], str]] = ...,
|
to: Optional[Union[Sequence[str], str]] = ...,
|
||||||
bcc: Optional[Union[List[str], Tuple[str], str]] = ...,
|
bcc: Optional[Union[Sequence[str], str]] = ...,
|
||||||
connection: Optional[BaseEmailBackend] = ...,
|
connection: Optional[BaseEmailBackend] = ...,
|
||||||
attachments: Optional[Union[List[Tuple[str, str]], List[MIMEText]]] = ...,
|
attachments: Optional[Union[List[Tuple[str, str]], List[MIMEText]]] = ...,
|
||||||
headers: Optional[Dict[str, str]] = ...,
|
headers: Optional[Dict[str, str]] = ...,
|
||||||
cc: Optional[Union[List[str], Tuple[str, str], str]] = ...,
|
cc: Optional[Union[Sequence[str], str]] = ...,
|
||||||
reply_to: Optional[Union[List[Optional[str]], str]] = ...,
|
reply_to: Optional[Union[List[Optional[str]], str]] = ...,
|
||||||
) -> None: ...
|
) -> None: ...
|
||||||
def get_connection(self, fail_silently: bool = ...) -> BaseEmailBackend: ...
|
def get_connection(self, fail_silently: bool = ...) -> BaseEmailBackend: ...
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ class Node:
|
|||||||
parents: Set[Any] = ...
|
parents: Set[Any] = ...
|
||||||
def __init__(self, key: Tuple[str, str]) -> None: ...
|
def __init__(self, key: Tuple[str, str]) -> None: ...
|
||||||
def __lt__(self, other: Union[Tuple[str, str], Node]) -> bool: ...
|
def __lt__(self, other: Union[Tuple[str, str], Node]) -> bool: ...
|
||||||
def __hash__(self) -> int: ...
|
|
||||||
def __getitem__(self, item: int) -> str: ...
|
def __getitem__(self, item: int) -> str: ...
|
||||||
def add_child(self, child: Node) -> None: ...
|
def add_child(self, child: Node) -> None: ...
|
||||||
def add_parent(self, parent: Node) -> None: ...
|
def add_parent(self, parent: Node) -> None: ...
|
||||||
@@ -19,13 +18,9 @@ class Node:
|
|||||||
def descendants(self) -> List[Tuple[str, str]]: ...
|
def descendants(self) -> List[Tuple[str, str]]: ...
|
||||||
|
|
||||||
class DummyNode(Node):
|
class DummyNode(Node):
|
||||||
children: Set[Any]
|
|
||||||
key: Tuple[str, str]
|
|
||||||
parents: Set[Any]
|
|
||||||
origin: Any = ...
|
origin: Any = ...
|
||||||
error_message: Any = ...
|
error_message: Any = ...
|
||||||
def __init__(self, key: Tuple[str, str], origin: Union[Migration, str], error_message: str) -> None: ...
|
def __init__(self, key: Tuple[str, str], origin: Union[Migration, str], error_message: str) -> None: ...
|
||||||
__class__: Any = ...
|
|
||||||
def promote(self) -> None: ...
|
def promote(self) -> None: ...
|
||||||
def raise_error(self) -> None: ...
|
def raise_error(self) -> None: ...
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
from typing import Any, Dict, Optional, Set, Tuple, Union, Sequence
|
from typing import Any, Dict, Optional, Sequence, Set, Tuple, Union
|
||||||
|
|
||||||
from django.db import DefaultConnectionProxy
|
|
||||||
from django.db.backends.base.base import BaseDatabaseWrapper
|
from django.db.backends.base.base import BaseDatabaseWrapper
|
||||||
from django.db.backends.sqlite3.base import DatabaseWrapper
|
|
||||||
from django.db.migrations.migration import Migration, SwappableTuple
|
from django.db.migrations.migration import Migration, SwappableTuple
|
||||||
from django.db.migrations.state import ProjectState
|
from django.db.migrations.state import ProjectState
|
||||||
|
|
||||||
|
from django.db import DefaultConnectionProxy
|
||||||
|
|
||||||
MIGRATIONS_MODULE_NAME: str
|
MIGRATIONS_MODULE_NAME: str
|
||||||
|
|
||||||
class MigrationLoader:
|
class MigrationLoader:
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ class Migration:
|
|||||||
name: str = ...
|
name: str = ...
|
||||||
app_label: str = ...
|
app_label: str = ...
|
||||||
def __init__(self, name: str, app_label: str) -> None: ...
|
def __init__(self, name: str, app_label: str) -> None: ...
|
||||||
def __hash__(self) -> int: ...
|
|
||||||
def mutate_state(self, project_state: ProjectState, preserve: bool = ...) -> ProjectState: ...
|
def mutate_state(self, project_state: ProjectState, preserve: bool = ...) -> ProjectState: ...
|
||||||
def apply(
|
def apply(
|
||||||
self, project_state: ProjectState, schema_editor: BaseDatabaseSchemaEditor, collect_sql: bool = ...
|
self, project_state: ProjectState, schema_editor: BaseDatabaseSchemaEditor, collect_sql: bool = ...
|
||||||
@@ -24,6 +23,6 @@ class Migration:
|
|||||||
|
|
||||||
class SwappableTuple(tuple):
|
class SwappableTuple(tuple):
|
||||||
setting: str = ...
|
setting: str = ...
|
||||||
def __new__(cls: Type[SwappableTuple], value: Tuple[str, str], setting: str) -> SwappableTuple: ...
|
def __new__(cls, value: Tuple[str, str], setting: str) -> SwappableTuple: ...
|
||||||
|
|
||||||
def swappable_dependency(value: str) -> SwappableTuple: ...
|
def swappable_dependency(value: str) -> SwappableTuple: ...
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
# Stubs for django.db.migrations.operations (Python 3.6)
|
|
||||||
#
|
|
||||||
# NOTE: This dynamically typed stub was automatically generated by stubgen.
|
|
||||||
|
|
||||||
from .fields import (
|
from .fields import (
|
||||||
AddField as AddField,
|
AddField as AddField,
|
||||||
AlterField as AlterField,
|
AlterField as AlterField,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Any, List, Optional, Type
|
from typing import Any, List
|
||||||
|
|
||||||
class Operation:
|
class Operation:
|
||||||
reversible: bool = ...
|
reversible: bool = ...
|
||||||
@@ -6,7 +6,6 @@ class Operation:
|
|||||||
atomic: bool = ...
|
atomic: bool = ...
|
||||||
elidable: bool = ...
|
elidable: bool = ...
|
||||||
serialization_expand_args: Any = ...
|
serialization_expand_args: Any = ...
|
||||||
def __new__(cls: Type[Operation], *args: Any, **kwargs: Any) -> Operation: ...
|
|
||||||
def deconstruct(self): ...
|
def deconstruct(self): ...
|
||||||
def state_forwards(self, app_label: Any, state: Any) -> None: ...
|
def state_forwards(self, app_label: Any, state: Any) -> None: ...
|
||||||
def database_forwards(self, app_label: Any, schema_editor: Any, from_state: Any, to_state: Any) -> None: ...
|
def database_forwards(self, app_label: Any, schema_editor: Any, from_state: Any, to_state: Any) -> None: ...
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ class ModelOperation(Operation):
|
|||||||
def name_lower(self) -> str: ...
|
def name_lower(self) -> str: ...
|
||||||
|
|
||||||
class CreateModel(ModelOperation):
|
class CreateModel(ModelOperation):
|
||||||
serialization_expand_args: Any = ...
|
|
||||||
fields: Sequence[Tuple[str, Field]] = ...
|
fields: Sequence[Tuple[str, Field]] = ...
|
||||||
options: Any = ...
|
options: Any = ...
|
||||||
bases: Optional[Sequence[Union[type, str]]] = ...
|
bases: Optional[Sequence[Union[type, str]]] = ...
|
||||||
@@ -63,7 +62,6 @@ class AlterModelOptions(ModelOptionOperation):
|
|||||||
def __init__(self, name: str, options: Dict[str, Any]) -> None: ...
|
def __init__(self, name: str, options: Dict[str, Any]) -> None: ...
|
||||||
|
|
||||||
class AlterModelManagers(ModelOptionOperation):
|
class AlterModelManagers(ModelOptionOperation):
|
||||||
serialization_expand_args: Any = ...
|
|
||||||
managers: Any = ...
|
managers: Any = ...
|
||||||
def __init__(self, name: Any, managers: Any) -> None: ...
|
def __init__(self, name: Any, managers: Any) -> None: ...
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Any, Callable, Optional, Sequence, Dict
|
from typing import Any, Callable, Dict, Optional, Sequence
|
||||||
|
|
||||||
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
from django.db.backends.base.schema import BaseDatabaseSchemaEditor
|
||||||
from django.db.migrations.state import StateApps
|
from django.db.migrations.state import StateApps
|
||||||
@@ -6,7 +6,6 @@ from django.db.migrations.state import StateApps
|
|||||||
from .base import Operation
|
from .base import Operation
|
||||||
|
|
||||||
class SeparateDatabaseAndState(Operation):
|
class SeparateDatabaseAndState(Operation):
|
||||||
serialization_expand_args: Any = ...
|
|
||||||
database_operations: Sequence[Operation] = ...
|
database_operations: Sequence[Operation] = ...
|
||||||
state_operations: Sequence[Operation] = ...
|
state_operations: Sequence[Operation] = ...
|
||||||
def __init__(
|
def __init__(
|
||||||
@@ -19,7 +18,6 @@ class RunSQL(Operation):
|
|||||||
reverse_sql: Any = ...
|
reverse_sql: Any = ...
|
||||||
state_operations: Any = ...
|
state_operations: Any = ...
|
||||||
hints: Any = ...
|
hints: Any = ...
|
||||||
elidable: Any = ...
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
sql: Any,
|
sql: Any,
|
||||||
@@ -30,12 +28,9 @@ class RunSQL(Operation):
|
|||||||
) -> None: ...
|
) -> None: ...
|
||||||
|
|
||||||
class RunPython(Operation):
|
class RunPython(Operation):
|
||||||
reduces_to_sql: bool = ...
|
|
||||||
atomic: bool = ...
|
|
||||||
code: Callable = ...
|
code: Callable = ...
|
||||||
reverse_code: Optional[Callable] = ...
|
reverse_code: Optional[Callable] = ...
|
||||||
hints: Optional[Dict[str, Any]] = ...
|
hints: Optional[Dict[str, Any]] = ...
|
||||||
elidable: bool = ...
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
code: Callable,
|
code: Callable,
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
from typing import Any, Optional
|
|
||||||
|
|
||||||
from django.db.migrations.state import ProjectState
|
from django.db.migrations.state import ProjectState
|
||||||
|
|
||||||
from django.db.models.fields import Field
|
from django.db.models.fields import Field
|
||||||
|
|
||||||
def is_referenced_by_foreign_key(state: ProjectState, model_name_lower: str, field: Field, field_name: str) -> bool: ...
|
def is_referenced_by_foreign_key(state: ProjectState, model_name_lower: str, field: Field, field_name: str) -> bool: ...
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from typing import Any, List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from django.db.migrations.operations.base import Operation
|
from django.db.migrations.operations.base import Operation
|
||||||
|
|
||||||
class MigrationOptimizer:
|
class MigrationOptimizer:
|
||||||
def optimize(self, operations: List[Operation], app_label: str = ...) -> List[Operation]: ...
|
def optimize(self, operations: List[Operation], app_label: Optional[str] = ...) -> List[Operation]: ...
|
||||||
def optimize_inner(self, operations: List[Operation], app_label: str = ...) -> List[Operation]: ...
|
def optimize_inner(self, operations: List[Operation], app_label: Optional[str] = ...) -> List[Operation]: ...
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
from typing import Any, Dict, Optional, Set
|
from typing import Any, Dict, Optional, Set
|
||||||
|
|
||||||
from django.db.migrations.state import ModelState
|
from django.db.migrations.state import ModelState
|
||||||
|
|
||||||
from django.db.models.fields import Field
|
from django.db.models.fields import Field
|
||||||
|
|
||||||
from .loader import MigrationLoader
|
|
||||||
|
|
||||||
class MigrationQuestioner:
|
class MigrationQuestioner:
|
||||||
defaults: Dict[Any, Any] = ...
|
defaults: Dict[str, Any] = ...
|
||||||
specified_apps: Set[Any] = ...
|
specified_apps: Set[str] = ...
|
||||||
dry_run: None = ...
|
dry_run: Optional[bool] = ...
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
defaults: Optional[Dict[str, bool]] = ...,
|
defaults: Optional[Dict[str, bool]] = ...,
|
||||||
@@ -23,21 +22,5 @@ class MigrationQuestioner:
|
|||||||
def ask_merge(self, app_label: str) -> bool: ...
|
def ask_merge(self, app_label: str) -> bool: ...
|
||||||
def ask_auto_now_add_addition(self, field_name: str, model_name: str) -> None: ...
|
def ask_auto_now_add_addition(self, field_name: str, model_name: str) -> None: ...
|
||||||
|
|
||||||
class InteractiveMigrationQuestioner(MigrationQuestioner):
|
class InteractiveMigrationQuestioner(MigrationQuestioner): ...
|
||||||
defaults: Dict[Any, Any]
|
class NonInteractiveMigrationQuestioner(MigrationQuestioner): ...
|
||||||
dry_run: bool
|
|
||||||
specified_apps: Set[str]
|
|
||||||
def ask_not_null_addition(self, field_name: str, model_name: str) -> None: ...
|
|
||||||
def ask_not_null_alteration(self, field_name: Any, model_name: Any): ...
|
|
||||||
def ask_rename(self, model_name: Any, old_name: Any, new_name: Any, field_instance: Any): ...
|
|
||||||
def ask_rename_model(self, old_model_state: Any, new_model_state: Any): ...
|
|
||||||
def ask_merge(self, app_label: str) -> bool: ...
|
|
||||||
def ask_auto_now_add_addition(self, field_name: str, model_name: str) -> int: ...
|
|
||||||
|
|
||||||
class NonInteractiveMigrationQuestioner(MigrationQuestioner):
|
|
||||||
defaults: Dict[Any, Any]
|
|
||||||
dry_run: bool
|
|
||||||
specified_apps: Set[str]
|
|
||||||
def ask_not_null_addition(self, field_name: Any, model_name: Any) -> None: ...
|
|
||||||
def ask_not_null_alteration(self, field_name: Any, model_name: Any): ...
|
|
||||||
def ask_auto_now_add_addition(self, field_name: Any, model_name: Any) -> None: ...
|
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
from typing import Any, Optional, Set, Tuple, Union
|
from typing import Any, Optional, Set, Tuple
|
||||||
|
|
||||||
from django.db import models
|
|
||||||
from django.db.backends.base.base import BaseDatabaseWrapper
|
from django.db.backends.base.base import BaseDatabaseWrapper
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
|
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
class MigrationRecorder:
|
class MigrationRecorder:
|
||||||
class Migration(models.Model):
|
class Migration(models.Model):
|
||||||
app: Any = ...
|
app: Any = ...
|
||||||
|
|||||||
@@ -1,88 +1,40 @@
|
|||||||
from typing import Any, Callable, Dict, List, Set, Tuple, Union
|
from typing import Any, Callable, Dict, List, Set, Tuple, Union
|
||||||
|
|
||||||
from django.db.models.fields import Field
|
|
||||||
|
|
||||||
class BaseSerializer:
|
class BaseSerializer:
|
||||||
value: Any = ...
|
value: Any = ...
|
||||||
def __init__(self, value: Any) -> None: ...
|
def __init__(self, value: Any) -> None: ...
|
||||||
def serialize(self) -> None: ...
|
def serialize(self) -> Any: ...
|
||||||
|
|
||||||
class BaseSequenceSerializer(BaseSerializer):
|
class BaseSequenceSerializer(BaseSerializer): ...
|
||||||
def serialize(self) -> Tuple[str, Set[str]]: ...
|
class BaseSimpleSerializer(BaseSerializer): ...
|
||||||
|
class DatetimeSerializer(BaseSerializer): ...
|
||||||
class BaseSimpleSerializer(BaseSerializer):
|
class DateSerializer(BaseSerializer): ...
|
||||||
value: str
|
class DecimalSerializer(BaseSerializer): ...
|
||||||
def serialize(self) -> Tuple[str, Set[Any]]: ...
|
|
||||||
|
|
||||||
class DatetimeSerializer(BaseSerializer):
|
|
||||||
value: Any = ...
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class DateSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class DecimalSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class DeconstructableSerializer(BaseSerializer):
|
class DeconstructableSerializer(BaseSerializer):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def serialize_deconstructed(
|
def serialize_deconstructed(
|
||||||
path: str, args: List[Any], kwargs: Dict[str, Union[Callable, int, str]]
|
path: str, args: List[Any], kwargs: Dict[str, Union[Callable, int, str]]
|
||||||
) -> Tuple[str, Set[str]]: ...
|
) -> Tuple[str, Set[str]]: ...
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class DictionarySerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class EnumSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class FloatSerializer(BaseSimpleSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
|
class DictionarySerializer(BaseSerializer): ...
|
||||||
|
class EnumSerializer(BaseSerializer): ...
|
||||||
|
class FloatSerializer(BaseSimpleSerializer): ...
|
||||||
class FrozensetSerializer(BaseSequenceSerializer): ...
|
class FrozensetSerializer(BaseSequenceSerializer): ...
|
||||||
|
class FunctionTypeSerializer(BaseSerializer): ...
|
||||||
class FunctionTypeSerializer(BaseSerializer):
|
class FunctoolsPartialSerializer(BaseSerializer): ...
|
||||||
value: Callable
|
class IterableSerializer(BaseSerializer): ...
|
||||||
def serialize(self) -> Tuple[str, Set[str]]: ...
|
class ModelFieldSerializer(DeconstructableSerializer): ...
|
||||||
|
class ModelManagerSerializer(DeconstructableSerializer): ...
|
||||||
class FunctoolsPartialSerializer(BaseSerializer):
|
class OperationSerializer(BaseSerializer): ...
|
||||||
def serialize(self): ...
|
class RegexSerializer(BaseSerializer): ...
|
||||||
|
|
||||||
class IterableSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class ModelFieldSerializer(DeconstructableSerializer):
|
|
||||||
value: Field
|
|
||||||
def serialize(self) -> Tuple[str, Set[str]]: ...
|
|
||||||
|
|
||||||
class ModelManagerSerializer(DeconstructableSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class OperationSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class RegexSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class SequenceSerializer(BaseSequenceSerializer): ...
|
class SequenceSerializer(BaseSequenceSerializer): ...
|
||||||
class SetSerializer(BaseSequenceSerializer): ...
|
class SetSerializer(BaseSequenceSerializer): ...
|
||||||
|
class SettingsReferenceSerializer(BaseSerializer): ...
|
||||||
class SettingsReferenceSerializer(BaseSerializer):
|
class TimedeltaSerializer(BaseSerializer): ...
|
||||||
def serialize(self): ...
|
class TimeSerializer(BaseSerializer): ...
|
||||||
|
|
||||||
class TimedeltaSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class TimeSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class TupleSerializer(BaseSequenceSerializer): ...
|
class TupleSerializer(BaseSequenceSerializer): ...
|
||||||
|
class TypeSerializer(BaseSerializer): ...
|
||||||
class TypeSerializer(BaseSerializer):
|
class UUIDSerializer(BaseSerializer): ...
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
class UUIDSerializer(BaseSerializer):
|
|
||||||
def serialize(self): ...
|
|
||||||
|
|
||||||
def serializer_factory(value: Any) -> BaseSerializer: ...
|
def serializer_factory(value: Any) -> BaseSerializer: ...
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
from typing import Any, Dict, Iterator, List, Optional, Tuple, Type, DefaultDict, Union, Sequence
|
from typing import Any, DefaultDict, Dict, Iterator, List, Optional, Sequence, Tuple, Type, Union
|
||||||
|
|
||||||
from django.apps.registry import Apps
|
from django.apps.registry import Apps
|
||||||
from django.db.models.base import Model
|
from django.db.models.base import Model
|
||||||
from django.db.models.manager import Manager
|
from django.db.models.manager import Manager
|
||||||
from django.utils.functional import cached_property
|
|
||||||
|
|
||||||
from django.db.models.fields import Field
|
from django.db.models.fields import Field
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Any, Dict, Iterator, List, Optional, Set
|
from typing import Dict, Iterator, List, Set
|
||||||
|
|
||||||
from django.db.migrations.operations.base import Operation
|
from django.db.migrations.operations.base import Operation
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
from typing import Any, Optional
|
from typing import Any
|
||||||
|
|
||||||
from django.utils.functional import SimpleLazyObject
|
|
||||||
|
|
||||||
COMPILED_REGEX_TYPE: Any
|
COMPILED_REGEX_TYPE: Any
|
||||||
|
|
||||||
class RegexObject:
|
class RegexObject:
|
||||||
pattern: str = ...
|
pattern: str = ...
|
||||||
flags: int = ...
|
flags: int = ...
|
||||||
def __init__(self, obj: SimpleLazyObject) -> None: ...
|
def __init__(self, obj: Any) -> None: ...
|
||||||
|
|
||||||
def get_migration_name_timestamp() -> str: ...
|
def get_migration_name_timestamp() -> str: ...
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
from typing import Any, Optional, Set, Tuple, Type, List, Union
|
from typing import Any, List, Set, Tuple, Union
|
||||||
|
|
||||||
from django.db.migrations.migration import Migration
|
from django.db.migrations.migration import Migration
|
||||||
from django.db.migrations.operations.base import Operation
|
from django.db.migrations.operations.base import Operation
|
||||||
|
|
||||||
from django.db.migrations.operations.models import CreateModel
|
from django.db.migrations.operations.models import CreateModel
|
||||||
|
|
||||||
class SettingsReference(str):
|
class SettingsReference(str):
|
||||||
def __new__(self: Type[SettingsReference], value: str, setting_name: str) -> SettingsReference: ...
|
|
||||||
setting_name: str = ...
|
|
||||||
def __init__(self, value: str, setting_name: str) -> None: ...
|
def __init__(self, value: str, setting_name: str) -> None: ...
|
||||||
|
|
||||||
class OperationWriter:
|
class OperationWriter:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from collections import UserList
|
from collections import UserList
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union, Sequence
|
from typing import Any, Dict, List, Optional, Sequence, Union
|
||||||
|
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.utils.safestring import SafeText
|
from django.utils.safestring import SafeText
|
||||||
@@ -28,9 +28,6 @@ class ErrorList(UserList):
|
|||||||
def as_json(self, escape_html: bool = ...) -> str: ...
|
def as_json(self, escape_html: bool = ...) -> str: ...
|
||||||
def as_ul(self) -> str: ...
|
def as_ul(self) -> str: ...
|
||||||
def as_text(self) -> str: ...
|
def as_text(self) -> str: ...
|
||||||
def __reduce_ex__(
|
|
||||||
self, *args: Any, **kwargs: Any
|
|
||||||
) -> Tuple[Callable, Tuple[Type[ErrorList]], Dict[str, Union[List[ValidationError], str]], None, None]: ...
|
|
||||||
|
|
||||||
def from_current_timezone(value: datetime) -> datetime: ...
|
def from_current_timezone(value: datetime) -> datetime: ...
|
||||||
def to_current_timezone(value: datetime) -> datetime: ...
|
def to_current_timezone(value: datetime) -> datetime: ...
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import datetime
|
import datetime
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from json import JSONEncoder
|
from json import JSONEncoder
|
||||||
from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Type, Union, overload, AnyStr, IO
|
from typing import Any, AnyStr, Dict, Iterable, Iterator, List, Optional, Tuple, Type, Union, overload
|
||||||
|
|
||||||
import six
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.core.handlers.wsgi import WSGIRequest
|
||||||
from django.http.cookie import SimpleCookie
|
from django.http.cookie import SimpleCookie
|
||||||
from django.test.client import Client
|
from django.test.client import Client
|
||||||
@@ -70,7 +69,6 @@ class HttpResponse(HttpResponseBase):
|
|||||||
request: Dict[str, Any]
|
request: Dict[str, Any]
|
||||||
resolver_match: ResolverMatch
|
resolver_match: ResolverMatch
|
||||||
sameorigin: bool
|
sameorigin: bool
|
||||||
status_code: int
|
|
||||||
templates: List[Template]
|
templates: List[Template]
|
||||||
test_server_port: str
|
test_server_port: str
|
||||||
test_was_secure_request: bool
|
test_was_secure_request: bool
|
||||||
@@ -88,21 +86,13 @@ class HttpResponse(HttpResponseBase):
|
|||||||
def json(self) -> Dict[str, Any]: ...
|
def json(self) -> Dict[str, Any]: ...
|
||||||
|
|
||||||
class StreamingHttpResponse(HttpResponseBase):
|
class StreamingHttpResponse(HttpResponseBase):
|
||||||
|
content: AnyStr
|
||||||
|
streaming_content: Iterator[AnyStr]
|
||||||
def __init__(self, streaming_content: Iterable[AnyStr] = ..., *args: Any, **kwargs: Any) -> None: ...
|
def __init__(self, streaming_content: Iterable[AnyStr] = ..., *args: Any, **kwargs: Any) -> None: ...
|
||||||
@property
|
|
||||||
def content(self) -> AnyStr: ...
|
|
||||||
@content.setter
|
|
||||||
def content(self, value: AnyStr) -> None: ...
|
|
||||||
@property
|
|
||||||
def streaming_content(self) -> Iterator[AnyStr]: ...
|
|
||||||
@streaming_content.setter
|
|
||||||
def streaming_content(self, value: Iterable[AnyStr]) -> None: ...
|
|
||||||
def __iter__(self) -> Iterator[AnyStr]: ...
|
|
||||||
def getvalue(self) -> AnyStr: ...
|
def getvalue(self) -> AnyStr: ...
|
||||||
|
|
||||||
class FileResponse(StreamingHttpResponse):
|
class FileResponse(StreamingHttpResponse):
|
||||||
client: Client
|
client: Client
|
||||||
closed: bool
|
|
||||||
context: None
|
context: None
|
||||||
file_to_stream: Optional[BytesIO]
|
file_to_stream: Optional[BytesIO]
|
||||||
request: Dict[str, str]
|
request: Dict[str, str]
|
||||||
@@ -119,8 +109,6 @@ class FileResponse(StreamingHttpResponse):
|
|||||||
class HttpResponseRedirectBase(HttpResponse):
|
class HttpResponseRedirectBase(HttpResponse):
|
||||||
allowed_schemes = ... # type: List[str]
|
allowed_schemes = ... # type: List[str]
|
||||||
def __init__(self, redirect_to: str, *args: Any, **kwargs: Any) -> None: ...
|
def __init__(self, redirect_to: str, *args: Any, **kwargs: Any) -> None: ...
|
||||||
@property
|
|
||||||
def url(self) -> str: ...
|
|
||||||
|
|
||||||
class HttpResponseRedirect(HttpResponseRedirectBase): ...
|
class HttpResponseRedirect(HttpResponseRedirectBase): ...
|
||||||
class HttpResponsePermanentRedirect(HttpResponseRedirectBase): ...
|
class HttpResponsePermanentRedirect(HttpResponseRedirectBase): ...
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from typing import Any, Optional, Union
|
from typing import Any, Optional, Union, Callable
|
||||||
|
|
||||||
from django.http.request import HttpRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse, HttpResponseBase
|
from django.http.response import HttpResponse, HttpResponseBase
|
||||||
@@ -26,4 +26,6 @@ class CacheMiddleware(UpdateCacheMiddleware, FetchFromCacheMiddleware):
|
|||||||
cache_alias: str = ...
|
cache_alias: str = ...
|
||||||
cache_timeout: float = ...
|
cache_timeout: float = ...
|
||||||
cache: BaseCache = ...
|
cache: BaseCache = ...
|
||||||
def __init__(self, get_response: None = ..., cache_timeout: Optional[float] = ..., **kwargs: Any) -> None: ...
|
def __init__(
|
||||||
|
self, get_response: Optional[Callable] = ..., cache_timeout: Optional[float] = ..., **kwargs: Any
|
||||||
|
) -> None: ...
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponseBase
|
from django.http.response import HttpResponseBase
|
||||||
from django.utils.deprecation import MiddlewareMixin
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
re_accepts_gzip: Any
|
re_accepts_gzip: Any
|
||||||
|
|
||||||
class GZipMiddleware(MiddlewareMixin):
|
class GZipMiddleware(MiddlewareMixin):
|
||||||
def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ...
|
def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ...
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponseBase
|
from django.http.response import HttpResponseBase
|
||||||
from django.utils.deprecation import MiddlewareMixin
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
class ConditionalGetMiddleware(MiddlewareMixin):
|
class ConditionalGetMiddleware(MiddlewareMixin):
|
||||||
def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ...
|
def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ...
|
||||||
def needs_etag(self, response: HttpResponseBase) -> bool: ...
|
def needs_etag(self, response: HttpResponseBase) -> bool: ...
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponseBase
|
from django.http.response import HttpResponseBase
|
||||||
from django.utils.deprecation import MiddlewareMixin
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
class LocaleMiddleware(MiddlewareMixin):
|
class LocaleMiddleware(MiddlewareMixin):
|
||||||
response_redirect_class: Any = ...
|
response_redirect_class: Any = ...
|
||||||
def process_request(self, request: WSGIRequest) -> None: ...
|
def process_request(self, request: HttpRequest) -> None: ...
|
||||||
def process_response(self, request: WSGIRequest, response: HttpResponseBase) -> HttpResponseBase: ...
|
def process_response(self, request: HttpRequest, response: HttpResponseBase) -> HttpResponseBase: ...
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Any, Optional, List
|
from typing import Any, List, Optional
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse, HttpResponsePermanentRedirect
|
from django.http.response import HttpResponse, HttpResponsePermanentRedirect
|
||||||
from django.utils.deprecation import MiddlewareMixin
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
@@ -13,5 +13,5 @@ class SecurityMiddleware(MiddlewareMixin):
|
|||||||
redirect: bool = ...
|
redirect: bool = ...
|
||||||
redirect_host: Optional[str] = ...
|
redirect_host: Optional[str] = ...
|
||||||
redirect_exempt: List[Any] = ...
|
redirect_exempt: List[Any] = ...
|
||||||
def process_request(self, request: WSGIRequest) -> Optional[HttpResponsePermanentRedirect]: ...
|
def process_request(self, request: HttpRequest) -> Optional[HttpResponsePermanentRedirect]: ...
|
||||||
def process_response(self, request: WSGIRequest, response: HttpResponse) -> HttpResponse: ...
|
def process_response(self, request: HttpRequest, response: HttpResponse) -> HttpResponse: ...
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ from django.http.cookie import SimpleCookie
|
|||||||
from django.http.request import HttpRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import HttpResponse, HttpResponseBase
|
from django.http.response import HttpResponse, HttpResponseBase
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
|
||||||
|
|
||||||
BOUNDARY: str = ...
|
BOUNDARY: str = ...
|
||||||
MULTIPART_CONTENT: str = ...
|
MULTIPART_CONTENT: str = ...
|
||||||
CONTENT_TYPE_RE: Pattern = ...
|
CONTENT_TYPE_RE: Pattern = ...
|
||||||
@@ -42,13 +40,13 @@ class RequestFactory:
|
|||||||
cookies: SimpleCookie = ...
|
cookies: SimpleCookie = ...
|
||||||
errors: BytesIO = ...
|
errors: BytesIO = ...
|
||||||
def __init__(self, *, json_encoder: Any = ..., **defaults: Any) -> None: ...
|
def __init__(self, *, json_encoder: Any = ..., **defaults: Any) -> None: ...
|
||||||
def request(self, **request: Any) -> WSGIRequest: ...
|
def request(self, **request: Any) -> HttpRequest: ...
|
||||||
def get(self, path: str, data: Any = ..., secure: bool = ..., **extra: Any) -> WSGIRequest: ...
|
def get(self, path: str, data: Any = ..., secure: bool = ..., **extra: Any) -> HttpRequest: ...
|
||||||
def post(
|
def post(
|
||||||
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
||||||
) -> WSGIRequest: ...
|
) -> HttpRequest: ...
|
||||||
def head(self, path: str, data: Any = ..., secure: bool = ..., **extra: Any) -> WSGIRequest: ...
|
def head(self, path: str, data: Any = ..., secure: bool = ..., **extra: Any) -> HttpRequest: ...
|
||||||
def trace(self, path: str, secure: bool = ..., **extra: Any) -> WSGIRequest: ...
|
def trace(self, path: str, secure: bool = ..., **extra: Any) -> HttpRequest: ...
|
||||||
def options(
|
def options(
|
||||||
self,
|
self,
|
||||||
path: str,
|
path: str,
|
||||||
@@ -56,16 +54,16 @@ class RequestFactory:
|
|||||||
content_type: str = ...,
|
content_type: str = ...,
|
||||||
secure: bool = ...,
|
secure: bool = ...,
|
||||||
**extra: Any
|
**extra: Any
|
||||||
) -> WSGIRequest: ...
|
) -> HttpRequest: ...
|
||||||
def put(
|
def put(
|
||||||
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
||||||
) -> WSGIRequest: ...
|
) -> HttpRequest: ...
|
||||||
def patch(
|
def patch(
|
||||||
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
||||||
) -> WSGIRequest: ...
|
) -> HttpRequest: ...
|
||||||
def delete(
|
def delete(
|
||||||
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
self, path: str, data: Any = ..., content_type: str = ..., secure: bool = ..., **extra: Any
|
||||||
) -> WSGIRequest: ...
|
) -> HttpRequest: ...
|
||||||
def generic(
|
def generic(
|
||||||
self,
|
self,
|
||||||
method: str,
|
method: str,
|
||||||
@@ -74,7 +72,7 @@ class RequestFactory:
|
|||||||
content_type: Optional[str] = ...,
|
content_type: Optional[str] = ...,
|
||||||
secure: bool = ...,
|
secure: bool = ...,
|
||||||
**extra: Any
|
**extra: Any
|
||||||
) -> WSGIRequest: ...
|
) -> HttpRequest: ...
|
||||||
|
|
||||||
class Client:
|
class Client:
|
||||||
json_encoder: Type[DjangoJSONEncoder] = ...
|
json_encoder: Type[DjangoJSONEncoder] = ...
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from html.parser import HTMLParser
|
from html.parser import HTMLParser
|
||||||
from typing import Any, List, Optional, Tuple, Union, TypeVar, Iterable, Sequence
|
from typing import Any, List, Optional, Sequence, Tuple, TypeVar, Union
|
||||||
|
|
||||||
_Self = TypeVar("_Self")
|
_Self = TypeVar("_Self")
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,14 @@
|
|||||||
from typing import Any, Callable, Dict, List, Tuple, Type, Union
|
from typing import Any
|
||||||
|
|
||||||
from django.test import LiveServerTestCase
|
from django.test import LiveServerTestCase
|
||||||
|
|
||||||
class SeleniumTestCaseBase:
|
class SeleniumTestCaseBase:
|
||||||
browsers: Any = ...
|
browsers: Any = ...
|
||||||
browser: Any = ...
|
browser: Any = ...
|
||||||
def __new__(
|
|
||||||
cls: Type[SeleniumTestCaseBase],
|
|
||||||
name: str,
|
|
||||||
bases: Tuple[Type[SeleniumTestCase]],
|
|
||||||
attrs: Dict[str, Union[Callable, List[str], str]],
|
|
||||||
) -> Type[SeleniumTestCase]: ...
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def import_webdriver(cls, browser: Any): ...
|
def import_webdriver(cls, browser: Any): ...
|
||||||
def create_webdriver(self): ...
|
def create_webdriver(self): ...
|
||||||
|
|
||||||
class SeleniumTestCase(LiveServerTestCase):
|
class SeleniumTestCase(LiveServerTestCase):
|
||||||
implicit_wait: int = ...
|
implicit_wait: int = ...
|
||||||
@classmethod
|
|
||||||
def setUpClass(cls) -> None: ...
|
|
||||||
def disable_implicit_wait(self) -> None: ...
|
def disable_implicit_wait(self) -> None: ...
|
||||||
|
|||||||
@@ -18,14 +18,9 @@ from django.utils.safestring import SafeText
|
|||||||
from django.db import connections as connections
|
from django.db import connections as connections
|
||||||
|
|
||||||
class _AssertNumQueriesContext(CaptureQueriesContext):
|
class _AssertNumQueriesContext(CaptureQueriesContext):
|
||||||
connection: Any
|
|
||||||
final_queries: Optional[int]
|
|
||||||
force_debug_cursor: bool
|
|
||||||
initial_queries: int
|
|
||||||
test_case: SimpleTestCase = ...
|
test_case: SimpleTestCase = ...
|
||||||
num: int = ...
|
num: int = ...
|
||||||
def __init__(self, test_case: Any, num: Any, connection: Any) -> None: ...
|
def __init__(self, test_case: Any, num: Any, connection: Any) -> None: ...
|
||||||
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): ...
|
|
||||||
|
|
||||||
class _AssertTemplateUsedContext:
|
class _AssertTemplateUsedContext:
|
||||||
test_case: SimpleTestCase = ...
|
test_case: SimpleTestCase = ...
|
||||||
@@ -40,14 +35,7 @@ class _AssertTemplateUsedContext:
|
|||||||
def __enter__(self): ...
|
def __enter__(self): ...
|
||||||
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): ...
|
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): ...
|
||||||
|
|
||||||
class _AssertTemplateNotUsedContext(_AssertTemplateUsedContext):
|
class _AssertTemplateNotUsedContext(_AssertTemplateUsedContext): ...
|
||||||
context: ContextList
|
|
||||||
rendered_template_names: List[str]
|
|
||||||
rendered_templates: List[Template]
|
|
||||||
template_name: str
|
|
||||||
test_case: SimpleTestCase
|
|
||||||
def test(self): ...
|
|
||||||
def message(self): ...
|
|
||||||
|
|
||||||
class _CursorFailure:
|
class _CursorFailure:
|
||||||
cls_name: str = ...
|
cls_name: str = ...
|
||||||
@@ -59,10 +47,6 @@ class SimpleTestCase(unittest.TestCase):
|
|||||||
client_class: Any = ...
|
client_class: Any = ...
|
||||||
client: Client
|
client: Client
|
||||||
allow_database_queries: bool = ...
|
allow_database_queries: bool = ...
|
||||||
@classmethod
|
|
||||||
def setUpClass(cls) -> None: ...
|
|
||||||
@classmethod
|
|
||||||
def tearDownClass(cls) -> None: ...
|
|
||||||
def __call__(self, result: unittest.TestResult = ...) -> None: ...
|
def __call__(self, result: unittest.TestResult = ...) -> None: ...
|
||||||
def settings(self, **kwargs: Any) -> Any: ...
|
def settings(self, **kwargs: Any) -> Any: ...
|
||||||
def modify_settings(self, **kwargs: Any) -> Any: ...
|
def modify_settings(self, **kwargs: Any) -> Any: ...
|
||||||
@@ -150,7 +134,6 @@ class TransactionTestCase(SimpleTestCase):
|
|||||||
fixtures: Any = ...
|
fixtures: Any = ...
|
||||||
multi_db: bool = ...
|
multi_db: bool = ...
|
||||||
serialized_rollback: bool = ...
|
serialized_rollback: bool = ...
|
||||||
allow_database_queries: bool = ...
|
|
||||||
def assertQuerysetEqual(
|
def assertQuerysetEqual(
|
||||||
self,
|
self,
|
||||||
qs: Union[Iterator[Any], List[Model], QuerySet, RawQuerySet],
|
qs: Union[Iterator[Any], List[Model], QuerySet, RawQuerySet],
|
||||||
@@ -164,10 +147,6 @@ class TransactionTestCase(SimpleTestCase):
|
|||||||
) -> Optional[_AssertNumQueriesContext]: ...
|
) -> Optional[_AssertNumQueriesContext]: ...
|
||||||
|
|
||||||
class TestCase(TransactionTestCase):
|
class TestCase(TransactionTestCase):
|
||||||
@classmethod
|
|
||||||
def setUpClass(cls) -> None: ...
|
|
||||||
@classmethod
|
|
||||||
def tearDownClass(cls) -> None: ...
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpTestData(cls) -> None: ...
|
def setUpTestData(cls) -> None: ...
|
||||||
|
|
||||||
@@ -181,17 +160,14 @@ def skipIfDBFeature(*features: Any) -> Callable: ...
|
|||||||
def skipUnlessDBFeature(*features: Any) -> Callable: ...
|
def skipUnlessDBFeature(*features: Any) -> Callable: ...
|
||||||
def skipUnlessAnyDBFeature(*features: Any) -> Callable: ...
|
def skipUnlessAnyDBFeature(*features: Any) -> Callable: ...
|
||||||
|
|
||||||
class QuietWSGIRequestHandler(WSGIRequestHandler):
|
class QuietWSGIRequestHandler(WSGIRequestHandler): ...
|
||||||
def log_message(*args: Any) -> None: ...
|
|
||||||
|
|
||||||
class FSFilesHandler(WSGIHandler):
|
class FSFilesHandler(WSGIHandler):
|
||||||
application: Any = ...
|
application: Any = ...
|
||||||
base_url: Any = ...
|
base_url: Any = ...
|
||||||
def __init__(self, application: Any) -> None: ...
|
def __init__(self, application: Any) -> None: ...
|
||||||
def file_path(self, url: Any): ...
|
def file_path(self, url: Any): ...
|
||||||
def get_response(self, request: Any): ...
|
|
||||||
def serve(self, request: Any): ...
|
def serve(self, request: Any): ...
|
||||||
def __call__(self, environ: Any, start_response: Any): ...
|
|
||||||
|
|
||||||
class _StaticFilesHandler(FSFilesHandler):
|
class _StaticFilesHandler(FSFilesHandler):
|
||||||
def get_base_dir(self): ...
|
def get_base_dir(self): ...
|
||||||
@@ -216,7 +192,6 @@ class LiveServerThread(threading.Thread):
|
|||||||
port: int = ...,
|
port: int = ...,
|
||||||
) -> None: ...
|
) -> None: ...
|
||||||
httpd: ThreadedWSGIServer = ...
|
httpd: ThreadedWSGIServer = ...
|
||||||
def run(self) -> None: ...
|
|
||||||
def terminate(self) -> None: ...
|
def terminate(self) -> None: ...
|
||||||
|
|
||||||
class LiveServerTestCase(TransactionTestCase):
|
class LiveServerTestCase(TransactionTestCase):
|
||||||
@@ -225,10 +200,6 @@ class LiveServerTestCase(TransactionTestCase):
|
|||||||
server_thread_class: Any = ...
|
server_thread_class: Any = ...
|
||||||
static_handler: Any = ...
|
static_handler: Any = ...
|
||||||
def live_server_url(cls): ...
|
def live_server_url(cls): ...
|
||||||
@classmethod
|
|
||||||
def setUpClass(cls) -> None: ...
|
|
||||||
@classmethod
|
|
||||||
def tearDownClass(cls) -> None: ...
|
|
||||||
|
|
||||||
class SerializeMixin:
|
class SerializeMixin:
|
||||||
lockfile: Any = ...
|
lockfile: Any = ...
|
||||||
|
|||||||
@@ -66,15 +66,15 @@ class override_system_checks(TestContextDecorator):
|
|||||||
|
|
||||||
class CaptureQueriesContext:
|
class CaptureQueriesContext:
|
||||||
connection: Any = ...
|
connection: Any = ...
|
||||||
|
force_debug_cursor: bool = ...
|
||||||
|
initial_queries: int = ...
|
||||||
|
final_queries: Optional[int] = ...
|
||||||
def __init__(self, connection: Any) -> None: ...
|
def __init__(self, connection: Any) -> None: ...
|
||||||
def __iter__(self): ...
|
def __iter__(self): ...
|
||||||
def __getitem__(self, index: int) -> Dict[str, str]: ...
|
def __getitem__(self, index: int) -> Dict[str, str]: ...
|
||||||
def __len__(self) -> int: ...
|
def __len__(self) -> int: ...
|
||||||
@property
|
@property
|
||||||
def captured_queries(self) -> List[Dict[str, str]]: ...
|
def captured_queries(self) -> List[Dict[str, str]]: ...
|
||||||
force_debug_cursor: bool = ...
|
|
||||||
initial_queries: int = ...
|
|
||||||
final_queries: Optional[int] = ...
|
|
||||||
def __enter__(self) -> CaptureQueriesContext: ...
|
def __enter__(self) -> CaptureQueriesContext: ...
|
||||||
def __exit__(self, exc_type: None, exc_value: None, traceback: None) -> None: ...
|
def __exit__(self, exc_type: None, exc_value: None, traceback: None) -> None: ...
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from django.core.handlers.wsgi import WSGIRequest
|
from django.http.request import HttpRequest
|
||||||
from django.http.response import (
|
from django.http.response import (
|
||||||
Http404,
|
|
||||||
HttpResponseBadRequest,
|
HttpResponseBadRequest,
|
||||||
HttpResponseForbidden,
|
HttpResponseForbidden,
|
||||||
HttpResponseNotFound,
|
HttpResponseNotFound,
|
||||||
@@ -15,10 +14,10 @@ ERROR_400_TEMPLATE_NAME: str
|
|||||||
ERROR_500_TEMPLATE_NAME: str
|
ERROR_500_TEMPLATE_NAME: str
|
||||||
|
|
||||||
def page_not_found(
|
def page_not_found(
|
||||||
request: WSGIRequest, exception: Optional[Http404], template_name: str = ...
|
request: HttpRequest, exception: Optional[Exception], template_name: str = ...
|
||||||
) -> HttpResponseNotFound: ...
|
) -> HttpResponseNotFound: ...
|
||||||
def server_error(request: WSGIRequest, template_name: str = ...) -> HttpResponseServerError: ...
|
def server_error(request: HttpRequest, template_name: str = ...) -> HttpResponseServerError: ...
|
||||||
def bad_request(request: WSGIRequest, exception: Exception, template_name: str = ...) -> HttpResponseBadRequest: ...
|
def bad_request(request: HttpRequest, exception: Exception, template_name: str = ...) -> HttpResponseBadRequest: ...
|
||||||
def permission_denied(
|
def permission_denied(
|
||||||
request: WSGIRequest, exception: Exception, template_name: str = ...
|
request: HttpRequest, exception: Exception, template_name: str = ...
|
||||||
) -> HttpResponseForbidden: ...
|
) -> HttpResponseForbidden: ...
|
||||||
|
|||||||
Reference in New Issue
Block a user