django-types 0.20.0__py3-none-any.whl → 0.22.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- django-stubs/contrib/admin/actions.pyi +2 -2
- django-stubs/contrib/admin/decorators.pyi +4 -3
- django-stubs/contrib/admin/filters.pyi +5 -5
- django-stubs/contrib/admin/models.pyi +23 -11
- django-stubs/contrib/admin/options.pyi +5 -4
- django-stubs/contrib/admin/sites.pyi +11 -11
- django-stubs/contrib/admin/utils.pyi +2 -2
- django-stubs/contrib/admin/views/autocomplete.pyi +2 -2
- django-stubs/contrib/admin/views/main.pyi +6 -6
- django-stubs/contrib/admindocs/middleware.pyi +2 -2
- django-stubs/contrib/auth/admin.pyi +2 -2
- django-stubs/contrib/auth/backends.pyi +22 -0
- django-stubs/contrib/auth/base_user.pyi +2 -2
- django-stubs/contrib/auth/forms.pyi +1 -1
- django-stubs/contrib/auth/middleware.pyi +1 -2
- django-stubs/contrib/auth/models.pyi +24 -2
- django-stubs/contrib/auth/views.pyi +1 -2
- django-stubs/contrib/flatpages/middleware.pyi +2 -2
- django-stubs/contrib/flatpages/views.pyi +3 -3
- django-stubs/contrib/postgres/fields/array.pyi +1 -2
- django-stubs/contrib/postgres/fields/citext.pyi +1 -2
- django-stubs/contrib/postgres/fields/hstore.pyi +1 -2
- django-stubs/contrib/staticfiles/finders.pyi +1 -2
- django-stubs/contrib/staticfiles/views.pyi +2 -2
- django-stubs/contrib/syndication/views.pyi +4 -4
- django-stubs/core/exceptions.pyi +8 -6
- django-stubs/core/mail/__init__.pyi +1 -1
- django-stubs/core/mail/backends/base.pyi +1 -0
- django-stubs/db/backends/utils.pyi +1 -2
- django-stubs/db/migrations/operations/base.pyi +41 -16
- django-stubs/db/models/__init__.pyi +1 -0
- django-stubs/db/models/base.pyi +9 -2
- django-stubs/db/models/enums.pyi +2 -1
- django-stubs/db/models/fields/__init__.pyi +3 -3
- django-stubs/db/models/fields/composite.pyi +74 -0
- django-stubs/db/models/fields/json.pyi +2 -2
- django-stubs/db/models/fields/related.pyi +2 -2
- django-stubs/db/models/manager.pyi +2 -2
- django-stubs/db/utils.pyi +41 -16
- django-stubs/forms/formsets.pyi +6 -6
- django-stubs/forms/models.pyi +3 -4
- django-stubs/http/request.pyi +8 -4
- django-stubs/shortcuts.pyi +1 -2
- django-stubs/template/base.pyi +1 -1
- django-stubs/template/context_processors.pyi +1 -2
- django-stubs/test/client.pyi +9 -9
- django-stubs/test/testcases.pyi +2 -2
- django-stubs/urls/base.pyi +18 -2
- django-stubs/utils/cache.pyi +4 -4
- django-stubs/utils/connection.pyi +38 -0
- django-stubs/utils/datastructures.pyi +2 -2
- django-stubs/utils/translation/__init__.pyi +5 -3
- django-stubs/utils/translation/trans_real.pyi +2 -2
- django-stubs/views/generic/edit.pyi +1 -2
- {django_types-0.20.0.dist-info → django_types-0.22.0.dist-info}/METADATA +5 -6
- {django_types-0.20.0.dist-info → django_types-0.22.0.dist-info}/RECORD +58 -56
- {django_types-0.20.0.dist-info → django_types-0.22.0.dist-info}/WHEEL +1 -1
- {django_types-0.20.0.dist-info → django_types-0.22.0.dist-info}/LICENSE.txt +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
3
|
from django.contrib.admin.options import ModelAdmin
|
|
4
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
5
4
|
from django.db.models.query import QuerySet
|
|
5
|
+
from django.http.request import HttpRequest
|
|
6
6
|
from django.template.response import TemplateResponse
|
|
7
7
|
|
|
8
8
|
def delete_selected(
|
|
9
|
-
modeladmin: ModelAdmin[Any], request:
|
|
9
|
+
modeladmin: ModelAdmin[Any], request: HttpRequest, queryset: QuerySet[Any]
|
|
10
10
|
) -> TemplateResponse | None: ...
|
|
@@ -8,6 +8,7 @@ from django.db.models.expressions import BaseExpression
|
|
|
8
8
|
from django.http import HttpRequest, HttpResponse
|
|
9
9
|
|
|
10
10
|
_M = TypeVar("_M", bound=Model)
|
|
11
|
+
_T = TypeVar("_T", bound=object)
|
|
11
12
|
|
|
12
13
|
def action(
|
|
13
14
|
function: (
|
|
@@ -17,7 +18,7 @@ def action(
|
|
|
17
18
|
*,
|
|
18
19
|
permissions: Sequence[str] | None = ...,
|
|
19
20
|
description: str | None = ...,
|
|
20
|
-
) -> Callable[
|
|
21
|
+
) -> Callable[[_T], _T]: ...
|
|
21
22
|
def display(
|
|
22
23
|
function: Callable[[_M], Any] | None = ...,
|
|
23
24
|
*,
|
|
@@ -25,5 +26,5 @@ def display(
|
|
|
25
26
|
ordering: str | Combinable | BaseExpression | None = ...,
|
|
26
27
|
description: str | None = ...,
|
|
27
28
|
empty_value: str | None = ...,
|
|
28
|
-
) -> Callable[
|
|
29
|
-
def register(*models: type[Model], site: Any | None = ...) -> Callable[
|
|
29
|
+
) -> Callable[[_T], _T]: ...
|
|
30
|
+
def register(*models: type[Model], site: Any | None = ...) -> Callable[[_T], _T]: ...
|
|
@@ -2,11 +2,11 @@ from collections.abc import Callable, Iterator
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
4
|
from django.contrib.admin.options import ModelAdmin
|
|
5
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
6
5
|
from django.db.models.base import Model
|
|
7
6
|
from django.db.models.fields import Field
|
|
8
7
|
from django.db.models.fields.related import RelatedField
|
|
9
8
|
from django.db.models.query import QuerySet
|
|
9
|
+
from django.http.request import HttpRequest
|
|
10
10
|
|
|
11
11
|
class ListFilter:
|
|
12
12
|
title: Any = ...
|
|
@@ -14,7 +14,7 @@ class ListFilter:
|
|
|
14
14
|
used_parameters: Any = ...
|
|
15
15
|
def __init__(
|
|
16
16
|
self,
|
|
17
|
-
request:
|
|
17
|
+
request: HttpRequest,
|
|
18
18
|
params: dict[str, str],
|
|
19
19
|
model: type[Model],
|
|
20
20
|
model_admin: ModelAdmin[Any],
|
|
@@ -39,7 +39,7 @@ class FieldListFilter(ListFilter):
|
|
|
39
39
|
def __init__(
|
|
40
40
|
self,
|
|
41
41
|
field: Field[Any, Any],
|
|
42
|
-
request:
|
|
42
|
+
request: HttpRequest,
|
|
43
43
|
params: dict[str, str],
|
|
44
44
|
model: type[Model],
|
|
45
45
|
model_admin: ModelAdmin[Any],
|
|
@@ -56,7 +56,7 @@ class FieldListFilter(ListFilter):
|
|
|
56
56
|
def create(
|
|
57
57
|
cls,
|
|
58
58
|
field: Field[Any, Any],
|
|
59
|
-
request:
|
|
59
|
+
request: HttpRequest,
|
|
60
60
|
params: dict[str, str],
|
|
61
61
|
model: type[Model],
|
|
62
62
|
model_admin: ModelAdmin[Any],
|
|
@@ -78,7 +78,7 @@ class RelatedFieldListFilter(FieldListFilter):
|
|
|
78
78
|
def field_choices(
|
|
79
79
|
self,
|
|
80
80
|
field: RelatedField[Any, Any],
|
|
81
|
-
request:
|
|
81
|
+
request: HttpRequest,
|
|
82
82
|
model_admin: ModelAdmin[Any],
|
|
83
83
|
) -> list[tuple[str, str]]: ...
|
|
84
84
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
from collections.abc import Iterable
|
|
2
2
|
from typing import Any, ClassVar, TypeVar
|
|
3
3
|
from typing_extensions import Self
|
|
4
|
-
from uuid import UUID
|
|
5
4
|
|
|
5
|
+
from django.contrib.auth.models import User
|
|
6
6
|
from django.contrib.contenttypes.models import ContentType
|
|
7
7
|
from django.db import models
|
|
8
|
+
from django.utils import timezone as timezone
|
|
8
9
|
|
|
9
10
|
ADDITION: int
|
|
10
11
|
CHANGE: int
|
|
@@ -14,26 +15,37 @@ ACTION_FLAG_CHOICES: list[tuple[int, str]]
|
|
|
14
15
|
_LogEntryT = TypeVar("_LogEntryT", bound=LogEntry)
|
|
15
16
|
|
|
16
17
|
class LogEntryManager(models.Manager[_LogEntryT]):
|
|
18
|
+
use_in_migrations: bool
|
|
19
|
+
# Deprecated in favor of log_actions
|
|
17
20
|
def log_action(
|
|
18
21
|
self,
|
|
19
22
|
user_id: int,
|
|
20
23
|
content_type_id: int,
|
|
21
|
-
object_id:
|
|
24
|
+
object_id: Any,
|
|
22
25
|
object_repr: str,
|
|
23
26
|
action_flag: int,
|
|
24
27
|
change_message: str | list[Any] = ...,
|
|
25
28
|
) -> _LogEntryT: ...
|
|
29
|
+
def log_actions(
|
|
30
|
+
self,
|
|
31
|
+
user_id: int,
|
|
32
|
+
queryset: Iterable[models.Model],
|
|
33
|
+
action_flag: int,
|
|
34
|
+
change_message: str | list[Any] = ...,
|
|
35
|
+
*,
|
|
36
|
+
single_object: bool = ...,
|
|
37
|
+
) -> _LogEntryT | list[_LogEntryT]: ...
|
|
26
38
|
|
|
27
39
|
class LogEntry(models.Model):
|
|
28
|
-
|
|
40
|
+
action_time = models.DateTimeField()
|
|
41
|
+
user = models.ForeignKey[User]
|
|
42
|
+
content_type = models.ForeignKey[ContentType]
|
|
43
|
+
object_id = models.TextField(blank=True, null=True)
|
|
44
|
+
object_repr = models.CharField()
|
|
45
|
+
action_flag = models.PositiveSmallIntegerField()
|
|
46
|
+
change_message = models.TextField(blank=True)
|
|
29
47
|
|
|
30
|
-
|
|
31
|
-
user: models.ForeignKey[Any]
|
|
32
|
-
content_type: models.ForeignKey[ContentType | None]
|
|
33
|
-
object_id: models.TextField[str | None]
|
|
34
|
-
object_repr: models.CharField[str]
|
|
35
|
-
action_flag: models.PositiveSmallIntegerField[int]
|
|
36
|
-
change_message: models.TextField[str]
|
|
48
|
+
objects: ClassVar[LogEntryManager[Self]] # type: ignore[assignment]
|
|
37
49
|
|
|
38
50
|
def is_addition(self) -> bool: ...
|
|
39
51
|
def is_change(self) -> bool: ...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from collections import OrderedDict
|
|
2
|
-
from collections.abc import Callable, Iterator, Mapping, Sequence
|
|
3
|
-
from typing import Any, Generic,
|
|
4
|
-
from typing_extensions import
|
|
2
|
+
from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence
|
|
3
|
+
from typing import Any, Generic, Literal, TypeVar
|
|
4
|
+
from typing_extensions import TypedDict
|
|
5
5
|
|
|
6
6
|
from django.contrib.admin.filters import ListFilter
|
|
7
7
|
from django.contrib.admin.helpers import ActionForm
|
|
@@ -17,6 +17,7 @@ from django.db.models.fields import Field
|
|
|
17
17
|
from django.db.models.fields.related import ForeignKey, ManyToManyField, RelatedField
|
|
18
18
|
from django.db.models.options import Options
|
|
19
19
|
from django.db.models.query import QuerySet
|
|
20
|
+
from django.forms.fields import Field as FormField
|
|
20
21
|
from django.forms.fields import TypedChoiceField
|
|
21
22
|
from django.forms.forms import BaseForm
|
|
22
23
|
from django.forms.models import (
|
|
@@ -92,7 +93,7 @@ class BaseModelAdmin(Generic[_ModelT]):
|
|
|
92
93
|
def check(self, **kwargs: Any) -> list[CheckMessage]: ...
|
|
93
94
|
def formfield_for_dbfield(
|
|
94
95
|
self, db_field: Field[Any, Any], request: HttpRequest | None, **kwargs: Any
|
|
95
|
-
) ->
|
|
96
|
+
) -> FormField | None: ...
|
|
96
97
|
def formfield_for_choice_field(
|
|
97
98
|
self, db_field: Field[Any, Any], request: HttpRequest | None, **kwargs: Any
|
|
98
99
|
) -> TypedChoiceField: ...
|
|
@@ -3,8 +3,8 @@ from typing import Any
|
|
|
3
3
|
|
|
4
4
|
from django.apps.config import AppConfig
|
|
5
5
|
from django.contrib.admin.options import ModelAdmin
|
|
6
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
7
6
|
from django.db.models.base import Model
|
|
7
|
+
from django.http.request import HttpRequest
|
|
8
8
|
from django.http.response import HttpResponse
|
|
9
9
|
from django.template.response import TemplateResponse
|
|
10
10
|
from django.urls.resolvers import URLResolver
|
|
@@ -53,7 +53,7 @@ class AdminSite:
|
|
|
53
53
|
def empty_value_display(self) -> Any: ...
|
|
54
54
|
@empty_value_display.setter
|
|
55
55
|
def empty_value_display(self, empty_value_display: Any) -> None: ...
|
|
56
|
-
def has_permission(self, request:
|
|
56
|
+
def has_permission(self, request: HttpRequest) -> bool: ...
|
|
57
57
|
def admin_view(
|
|
58
58
|
self, view: Callable[..., Any], cacheable: bool = ...
|
|
59
59
|
) -> Callable[..., Any]: ...
|
|
@@ -62,30 +62,30 @@ class AdminSite:
|
|
|
62
62
|
def urls(self) -> tuple[list[URLResolver], str, str]: ...
|
|
63
63
|
def each_context(self, request: Any) -> Any: ...
|
|
64
64
|
def password_change(
|
|
65
|
-
self, request:
|
|
65
|
+
self, request: HttpRequest, extra_context: dict[str, Any] | None = ...
|
|
66
66
|
) -> TemplateResponse: ...
|
|
67
67
|
def password_change_done(
|
|
68
|
-
self, request:
|
|
68
|
+
self, request: HttpRequest, extra_context: dict[str, Any] | None = ...
|
|
69
69
|
) -> TemplateResponse: ...
|
|
70
70
|
def i18n_javascript(
|
|
71
|
-
self, request:
|
|
71
|
+
self, request: HttpRequest, extra_context: dict[Any, Any] | None = ...
|
|
72
72
|
) -> HttpResponse: ...
|
|
73
73
|
def logout(
|
|
74
|
-
self, request:
|
|
74
|
+
self, request: HttpRequest, extra_context: dict[str, Any] | None = ...
|
|
75
75
|
) -> TemplateResponse: ...
|
|
76
76
|
def login(
|
|
77
|
-
self, request:
|
|
77
|
+
self, request: HttpRequest, extra_context: dict[str, Any] | None = ...
|
|
78
78
|
) -> HttpResponse: ...
|
|
79
79
|
def _build_app_dict(
|
|
80
|
-
self, request:
|
|
80
|
+
self, request: HttpRequest, label: str | None = ...
|
|
81
81
|
) -> dict[str, Any]: ...
|
|
82
|
-
def get_app_list(self, request:
|
|
82
|
+
def get_app_list(self, request: HttpRequest) -> list[Any]: ...
|
|
83
83
|
def index(
|
|
84
|
-
self, request:
|
|
84
|
+
self, request: HttpRequest, extra_context: dict[str, Any] | None = ...
|
|
85
85
|
) -> TemplateResponse: ...
|
|
86
86
|
def app_index(
|
|
87
87
|
self,
|
|
88
|
-
request:
|
|
88
|
+
request: HttpRequest,
|
|
89
89
|
app_label: str,
|
|
90
90
|
extra_context: dict[str, Any] | None = ...,
|
|
91
91
|
) -> TemplateResponse: ...
|
|
@@ -7,7 +7,6 @@ from uuid import UUID
|
|
|
7
7
|
from django.contrib.admin.options import BaseModelAdmin
|
|
8
8
|
from django.contrib.admin.sites import AdminSite
|
|
9
9
|
from django.contrib.auth.forms import AdminPasswordChangeForm
|
|
10
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
11
10
|
from django.db.models.base import Model
|
|
12
11
|
from django.db.models.deletion import Collector
|
|
13
12
|
from django.db.models.fields import Field, reverse_related
|
|
@@ -15,6 +14,7 @@ from django.db.models.fields.reverse_related import ManyToOneRel
|
|
|
15
14
|
from django.db.models.options import Options
|
|
16
15
|
from django.db.models.query import QuerySet
|
|
17
16
|
from django.forms.forms import BaseForm
|
|
17
|
+
from django.http.request import HttpRequest
|
|
18
18
|
|
|
19
19
|
class FieldIsAForeignKeyColumnName(Exception): ...
|
|
20
20
|
|
|
@@ -25,7 +25,7 @@ def unquote(s: str) -> str: ...
|
|
|
25
25
|
def flatten(fields: Any) -> list[Callable[..., Any] | str]: ...
|
|
26
26
|
def flatten_fieldsets(fieldsets: Any) -> list[Callable[..., Any] | str]: ...
|
|
27
27
|
def get_deleted_objects(
|
|
28
|
-
objs: Sequence[Model | None], request:
|
|
28
|
+
objs: Sequence[Model | None], request: HttpRequest, admin_site: AdminSite
|
|
29
29
|
) -> tuple[list[Any], dict[Any, Any], set[Any], list[Any]]: ...
|
|
30
30
|
|
|
31
31
|
class NestedObjects(Collector):
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
3
|
from django.contrib.admin.options import ModelAdmin
|
|
4
|
-
from django.
|
|
4
|
+
from django.http.request import HttpRequest
|
|
5
5
|
from django.views.generic.list import BaseListView
|
|
6
6
|
|
|
7
7
|
class AutocompleteJsonView(BaseListView):
|
|
8
8
|
model_admin: ModelAdmin[Any] = ...
|
|
9
9
|
term: Any = ...
|
|
10
|
-
def has_perm(self, request:
|
|
10
|
+
def has_perm(self, request: HttpRequest, obj: None = ...) -> bool: ...
|
|
@@ -6,13 +6,13 @@ from django.contrib.admin.filters import ListFilter, SimpleListFilter
|
|
|
6
6
|
from django.contrib.admin.options import IS_POPUP_VAR as IS_POPUP_VAR # noqa: F401
|
|
7
7
|
from django.contrib.admin.options import TO_FIELD_VAR as TO_FIELD_VAR
|
|
8
8
|
from django.contrib.admin.options import ModelAdmin
|
|
9
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
10
9
|
from django.db.models.base import Model
|
|
11
10
|
from django.db.models.expressions import Combinable, CombinedExpression, OrderBy
|
|
12
11
|
from django.db.models.options import Options
|
|
13
12
|
from django.db.models.query import QuerySet
|
|
14
13
|
from django.forms.formsets import BaseFormSet
|
|
15
14
|
from django.forms.models import ModelForm
|
|
15
|
+
from django.http.request import HttpRequest
|
|
16
16
|
|
|
17
17
|
ALL_VAR: str
|
|
18
18
|
ORDER_VAR: str
|
|
@@ -51,7 +51,7 @@ class ChangeList:
|
|
|
51
51
|
formset: BaseFormSet[ModelForm] | None
|
|
52
52
|
def __init__(
|
|
53
53
|
self,
|
|
54
|
-
request:
|
|
54
|
+
request: HttpRequest,
|
|
55
55
|
model: type[Model],
|
|
56
56
|
list_display: list[Callable[..., Any] | str] | tuple[str],
|
|
57
57
|
list_display_links: list[Callable[..., Any]] | list[str] | tuple[str] | None,
|
|
@@ -67,7 +67,7 @@ class ChangeList:
|
|
|
67
67
|
) -> None: ...
|
|
68
68
|
def get_filters_params(self, params: None = ...) -> dict[str, str]: ...
|
|
69
69
|
def get_filters(
|
|
70
|
-
self, request:
|
|
70
|
+
self, request: HttpRequest
|
|
71
71
|
) -> tuple[list[ListFilter], bool, dict[str, bool | str], bool]: ...
|
|
72
72
|
def get_query_string(
|
|
73
73
|
self,
|
|
@@ -82,15 +82,15 @@ class ChangeList:
|
|
|
82
82
|
can_show_all: Any = ...
|
|
83
83
|
multi_page: Any = ...
|
|
84
84
|
paginator: Any = ...
|
|
85
|
-
def get_results(self, request:
|
|
85
|
+
def get_results(self, request: HttpRequest) -> None: ...
|
|
86
86
|
def get_ordering_field(
|
|
87
87
|
self, field_name: Callable[..., Any] | str
|
|
88
88
|
) -> CombinedExpression | str | None: ...
|
|
89
89
|
def get_ordering(
|
|
90
|
-
self, request:
|
|
90
|
+
self, request: HttpRequest, queryset: QuerySet[Any]
|
|
91
91
|
) -> list[OrderBy | Combinable | str]: ...
|
|
92
92
|
def get_ordering_field_columns(self) -> OrderedDict[Any, Any]: ...
|
|
93
|
-
def get_queryset(self, request:
|
|
93
|
+
def get_queryset(self, request: HttpRequest) -> QuerySet[Any]: ...
|
|
94
94
|
def apply_select_related(self, qs: QuerySet[Any]) -> QuerySet[Any]: ...
|
|
95
95
|
def has_related_field_in_list_display(self) -> bool: ...
|
|
96
96
|
def url_for_result(self, result: Model) -> str: ...
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
from collections.abc import Callable
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
|
-
from django.
|
|
4
|
+
from django.http.request import HttpRequest
|
|
5
5
|
from django.http.response import HttpResponse
|
|
6
6
|
from django.utils.deprecation import MiddlewareMixin
|
|
7
7
|
|
|
8
8
|
class XViewMiddleware(MiddlewareMixin):
|
|
9
9
|
def process_view(
|
|
10
10
|
self,
|
|
11
|
-
request:
|
|
11
|
+
request: HttpRequest,
|
|
12
12
|
view_func: Callable[..., Any],
|
|
13
13
|
view_args: tuple[Any, ...],
|
|
14
14
|
view_kwargs: dict[Any, Any],
|
|
@@ -2,7 +2,7 @@ from collections.abc import Callable
|
|
|
2
2
|
from typing import Any, TypeVar
|
|
3
3
|
|
|
4
4
|
from django.contrib import admin
|
|
5
|
-
from django.
|
|
5
|
+
from django.http.request import HttpRequest
|
|
6
6
|
from django.http.response import HttpResponse
|
|
7
7
|
|
|
8
8
|
_F = TypeVar("_F", bound=Callable[..., Any])
|
|
@@ -18,5 +18,5 @@ class UserAdmin(admin.ModelAdmin[Any]):
|
|
|
18
18
|
add_form: Any = ...
|
|
19
19
|
change_password_form: Any = ...
|
|
20
20
|
def user_change_password(
|
|
21
|
-
self, request:
|
|
21
|
+
self, request: HttpRequest, id: str, form_url: str = ...
|
|
22
22
|
) -> HttpResponse: ...
|
|
@@ -17,22 +17,43 @@ class BaseBackend:
|
|
|
17
17
|
password: str | None = ...,
|
|
18
18
|
**kwargs: Any
|
|
19
19
|
) -> AbstractBaseUser | None: ...
|
|
20
|
+
async def aauthenticate(
|
|
21
|
+
self,
|
|
22
|
+
request: HttpRequest,
|
|
23
|
+
username: str | None = ...,
|
|
24
|
+
password: str | None = ...,
|
|
25
|
+
**kwargs: Any
|
|
26
|
+
) -> AbstractBaseUser | None: ...
|
|
20
27
|
def get_user(self, user_id: int) -> AbstractBaseUser | None: ...
|
|
28
|
+
async def aget_user(self, user_id: int) -> AbstractBaseUser | None: ...
|
|
21
29
|
def get_user_permissions(
|
|
22
30
|
self, user_obj: _AnyUser, obj: Model | None = ...
|
|
23
31
|
) -> set[str]: ...
|
|
32
|
+
async def aget_user_permissions(
|
|
33
|
+
self, user_obj: _AnyUser, obj: Model | None = ...
|
|
34
|
+
) -> set[str]: ...
|
|
24
35
|
def get_group_permissions(
|
|
25
36
|
self, user_obj: _AnyUser, obj: Model | None = ...
|
|
26
37
|
) -> set[str]: ...
|
|
38
|
+
async def aget_group_permissions(
|
|
39
|
+
self, user_obj: _AnyUser, obj: Model | None = ...
|
|
40
|
+
) -> set[str]: ...
|
|
27
41
|
def get_all_permissions(
|
|
28
42
|
self, user_obj: _AnyUser, obj: Model | None = ...
|
|
29
43
|
) -> set[str]: ...
|
|
44
|
+
async def aget_all_permissions(
|
|
45
|
+
self, user_obj: _AnyUser, obj: Model | None = ...
|
|
46
|
+
) -> set[str]: ...
|
|
30
47
|
def has_perm(
|
|
31
48
|
self, user_obj: _AnyUser, perm: str, obj: Model | None = ...
|
|
32
49
|
) -> bool: ...
|
|
50
|
+
async def ahas_perm(
|
|
51
|
+
self, user_obj: _AnyUser, perm: str, obj: Model | None = ...
|
|
52
|
+
) -> bool: ...
|
|
33
53
|
|
|
34
54
|
class ModelBackend(BaseBackend):
|
|
35
55
|
def has_module_perms(self, user_obj: _AnyUser, app_label: str) -> bool: ...
|
|
56
|
+
async def ahas_module_perms(self, user_obj: _AnyUser, app_label: str) -> bool: ...
|
|
36
57
|
def user_can_authenticate(self, user: _AnyUser | None) -> bool: ...
|
|
37
58
|
def with_perm(
|
|
38
59
|
self,
|
|
@@ -48,5 +69,6 @@ class RemoteUserBackend(ModelBackend):
|
|
|
48
69
|
create_unknown_user: bool = ...
|
|
49
70
|
def clean_username(self, username: str) -> str: ...
|
|
50
71
|
def configure_user(self, request: HttpRequest, user: User) -> User: ...
|
|
72
|
+
async def aconfigure_user(self, request: HttpRequest, user: User) -> User: ...
|
|
51
73
|
|
|
52
74
|
class AllowAllUsersRemoteUserBackend(RemoteUserBackend): ...
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
from typing import Any, TypeVar
|
|
2
|
-
from typing_extensions import Literal
|
|
1
|
+
from typing import Any, Literal, TypeVar
|
|
3
2
|
|
|
4
3
|
from django.db import models
|
|
5
4
|
from django.db.models.base import Model
|
|
@@ -15,6 +14,7 @@ class BaseUserManager(models.Manager[_ModelT]):
|
|
|
15
14
|
self, length: int = ..., allowed_chars: str = ...
|
|
16
15
|
) -> str: ...
|
|
17
16
|
def get_by_natural_key(self, username: str) -> _ModelT: ...
|
|
17
|
+
async def aget_by_natural_key(self, username: str) -> _ModelT: ...
|
|
18
18
|
|
|
19
19
|
class AbstractBaseUser(models.Model):
|
|
20
20
|
REQUIRED_FIELDS: list[str] = ...
|
|
@@ -35,7 +35,7 @@ class AuthenticationForm(forms.Form):
|
|
|
35
35
|
password: Any = ...
|
|
36
36
|
error_messages: Any = ...
|
|
37
37
|
request: WSGIRequest = ...
|
|
38
|
-
user_cache: None = ...
|
|
38
|
+
user_cache: AbstractBaseUser | None = ...
|
|
39
39
|
username_field: Any = ...
|
|
40
40
|
def __init__(self, request: Any = ..., *args: Any, **kwargs: Any) -> None: ...
|
|
41
41
|
def confirm_login_allowed(self, user: AbstractBaseUser) -> None: ...
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
from django.contrib.auth.models import AnonymousUser, User
|
|
2
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
3
2
|
from django.http.request import HttpRequest
|
|
4
3
|
from django.utils.deprecation import MiddlewareMixin
|
|
5
4
|
|
|
6
|
-
def get_user(request:
|
|
5
|
+
def get_user(request: HttpRequest) -> AnonymousUser | User: ...
|
|
7
6
|
|
|
8
7
|
class AuthenticationMiddleware(MiddlewareMixin):
|
|
9
8
|
def process_request(self, request: HttpRequest) -> None: ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from collections.abc import Iterable
|
|
2
|
-
from typing import Any, ClassVar, TypeVar
|
|
3
|
-
from typing_extensions import
|
|
2
|
+
from typing import Any, ClassVar, Literal, TypeVar
|
|
3
|
+
from typing_extensions import Never, Self
|
|
4
4
|
|
|
5
5
|
from django.contrib.auth.backends import ModelBackend
|
|
6
6
|
from django.contrib.auth.base_user import AbstractBaseUser as AbstractBaseUser
|
|
@@ -58,6 +58,13 @@ class UserManager(BaseUserManager[_T]):
|
|
|
58
58
|
password: str | None = ...,
|
|
59
59
|
**extra_fields: Any,
|
|
60
60
|
) -> _T: ...
|
|
61
|
+
async def acreate_user(
|
|
62
|
+
self,
|
|
63
|
+
username: str,
|
|
64
|
+
email: str | None = ...,
|
|
65
|
+
password: str | None = ...,
|
|
66
|
+
**extra_fields: Any,
|
|
67
|
+
) -> _T: ...
|
|
61
68
|
def create_superuser(
|
|
62
69
|
self,
|
|
63
70
|
username: str,
|
|
@@ -65,6 +72,13 @@ class UserManager(BaseUserManager[_T]):
|
|
|
65
72
|
password: str | None,
|
|
66
73
|
**extra_fields: Any,
|
|
67
74
|
) -> _T: ...
|
|
75
|
+
async def acreate_superuser(
|
|
76
|
+
self,
|
|
77
|
+
username: str,
|
|
78
|
+
email: str | None,
|
|
79
|
+
password: str | None,
|
|
80
|
+
**extra_fields: Any,
|
|
81
|
+
) -> _T: ...
|
|
68
82
|
def with_perm(
|
|
69
83
|
self,
|
|
70
84
|
perm: str | Permission,
|
|
@@ -79,11 +93,19 @@ class PermissionsMixin(models.Model):
|
|
|
79
93
|
groups = models.ManyToManyField[Group, Any](Group)
|
|
80
94
|
user_permissions = models.ManyToManyField[Permission, Any](Permission)
|
|
81
95
|
def get_user_permissions(self, obj: Model | None = ...) -> set[str]: ...
|
|
96
|
+
async def aget_user_permissions(self, obj: Model | None = ...) -> set[str]: ...
|
|
82
97
|
def get_group_permissions(self, obj: Model | None = ...) -> set[str]: ...
|
|
98
|
+
async def aget_group_permissions(self, obj: Model | None = ...) -> set[str]: ...
|
|
83
99
|
def get_all_permissions(self, obj: Model | None = ...) -> set[str]: ...
|
|
100
|
+
async def aget_all_permissions(self, obj: Model | None = ...) -> set[str]: ...
|
|
84
101
|
def has_perm(self, perm: str, obj: Model | None = ...) -> bool: ...
|
|
102
|
+
async def ahas_perm(self, perm: str, obj: Model | None = ...) -> bool: ...
|
|
85
103
|
def has_perms(self, perm_list: Iterable[str], obj: Model | None = ...) -> bool: ...
|
|
104
|
+
async def ahas_perms(
|
|
105
|
+
self, perm_list: Iterable[str], obj: Model | None = ...
|
|
106
|
+
) -> bool: ...
|
|
86
107
|
def has_module_perms(self, app_label: str) -> bool: ...
|
|
108
|
+
async def ahas_module_perms(self, app_label: str) -> bool: ...
|
|
87
109
|
|
|
88
110
|
class AbstractUser(AbstractBaseUser, PermissionsMixin):
|
|
89
111
|
username_validator: UnicodeUsernameValidator = ...
|
|
@@ -2,7 +2,6 @@ from typing import Any
|
|
|
2
2
|
|
|
3
3
|
from django.contrib.auth.base_user import AbstractBaseUser
|
|
4
4
|
from django.contrib.auth.forms import AuthenticationForm
|
|
5
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
6
5
|
from django.http.request import HttpRequest
|
|
7
6
|
from django.http.response import HttpResponseRedirect
|
|
8
7
|
from django.template.response import TemplateResponse
|
|
@@ -27,7 +26,7 @@ class LogoutView(SuccessURLAllowedHostsMixin, TemplateView):
|
|
|
27
26
|
redirect_field_name: Any = ...
|
|
28
27
|
extra_context: Any = ...
|
|
29
28
|
def post(
|
|
30
|
-
self, request:
|
|
29
|
+
self, request: HttpRequest, *args: Any, **kwargs: Any
|
|
31
30
|
) -> TemplateResponse: ...
|
|
32
31
|
def get_next_page(self) -> str | None: ...
|
|
33
32
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from django.
|
|
1
|
+
from django.http.request import HttpRequest
|
|
2
2
|
from django.http.response import HttpResponse
|
|
3
3
|
from django.utils.deprecation import MiddlewareMixin
|
|
4
4
|
|
|
5
5
|
class FlatpageFallbackMiddleware(MiddlewareMixin):
|
|
6
6
|
def process_response(
|
|
7
|
-
self, request:
|
|
7
|
+
self, request: HttpRequest, response: HttpResponse
|
|
8
8
|
) -> HttpResponse: ...
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from django.contrib.flatpages.models import FlatPage
|
|
2
|
-
from django.
|
|
2
|
+
from django.http.request import HttpRequest
|
|
3
3
|
from django.http.response import HttpResponse
|
|
4
4
|
|
|
5
5
|
DEFAULT_TEMPLATE: str
|
|
6
6
|
|
|
7
|
-
def flatpage(request:
|
|
8
|
-
def render_flatpage(request:
|
|
7
|
+
def flatpage(request: HttpRequest, url: str) -> HttpResponse: ...
|
|
8
|
+
def render_flatpage(request: HttpRequest, f: FlatPage) -> HttpResponse: ...
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from collections.abc import Callable, Iterable
|
|
2
|
-
from typing import Any, Generic, TypeVar, overload
|
|
3
|
-
from typing_extensions import Literal
|
|
2
|
+
from typing import Any, Generic, Literal, TypeVar, overload
|
|
4
3
|
|
|
5
4
|
from django.db.models.expressions import Combinable
|
|
6
5
|
from django.db.models.fields import Field, _ErrorMessagesToOverride, _ValidatorCallable
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from collections.abc import Iterable, Iterator, Mapping
|
|
2
|
-
from typing import Any, overload
|
|
3
|
-
from typing_extensions import Literal
|
|
2
|
+
from typing import Any, Literal, overload
|
|
4
3
|
|
|
5
4
|
from django.core.checks.messages import CheckMessage
|
|
6
5
|
from django.core.files.storage import Storage
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
|
-
from django.
|
|
3
|
+
from django.http.request import HttpRequest
|
|
4
4
|
from django.http.response import FileResponse
|
|
5
5
|
|
|
6
6
|
def serve(
|
|
7
|
-
request:
|
|
7
|
+
request: HttpRequest, path: str, insecure: bool = ..., **kwargs: Any
|
|
8
8
|
) -> FileResponse: ...
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from typing import Any
|
|
2
2
|
|
|
3
3
|
from django.core.exceptions import ObjectDoesNotExist
|
|
4
|
-
from django.core.handlers.wsgi import WSGIRequest
|
|
5
4
|
from django.db.models.base import Model
|
|
5
|
+
from django.http.request import HttpRequest
|
|
6
6
|
from django.http.response import HttpResponse
|
|
7
7
|
from django.utils.feedgenerator import Enclosure, SyndicationFeed
|
|
8
8
|
from django.utils.safestring import SafeText
|
|
@@ -16,7 +16,7 @@ class Feed:
|
|
|
16
16
|
title_template: Any = ...
|
|
17
17
|
description_template: Any = ...
|
|
18
18
|
def __call__(
|
|
19
|
-
self, request:
|
|
19
|
+
self, request: HttpRequest, *args: Any, **kwargs: Any
|
|
20
20
|
) -> HttpResponse: ...
|
|
21
21
|
def item_title(self, item: Model) -> SafeText: ...
|
|
22
22
|
def item_description(self, item: Model) -> str: ...
|
|
@@ -24,6 +24,6 @@ class Feed:
|
|
|
24
24
|
def item_enclosures(self, item: Model) -> list[Enclosure]: ...
|
|
25
25
|
def feed_extra_kwargs(self, obj: None) -> dict[Any, Any]: ...
|
|
26
26
|
def item_extra_kwargs(self, item: Model) -> dict[Any, Any]: ...
|
|
27
|
-
def get_object(self, request:
|
|
27
|
+
def get_object(self, request: HttpRequest, *args: Any, **kwargs: Any) -> None: ...
|
|
28
28
|
def get_context_data(self, **kwargs: Any) -> dict[str, Any]: ...
|
|
29
|
-
def get_feed(self, obj: None, request:
|
|
29
|
+
def get_feed(self, obj: None, request: HttpRequest) -> SyndicationFeed: ...
|
django-stubs/core/exceptions.pyi
CHANGED
|
@@ -26,6 +26,13 @@ class FieldError(Exception): ...
|
|
|
26
26
|
|
|
27
27
|
NON_FIELD_ERRORS: str
|
|
28
28
|
|
|
29
|
+
ValidationErrorMessageArg = (
|
|
30
|
+
str
|
|
31
|
+
| ValidationError
|
|
32
|
+
| dict[str, ValidationErrorMessageArg]
|
|
33
|
+
| list[ValidationErrorMessageArg]
|
|
34
|
+
)
|
|
35
|
+
|
|
29
36
|
class ValidationError(Exception):
|
|
30
37
|
error_dict: dict[str, list[ValidationError]] | None
|
|
31
38
|
error_list: list[ValidationError] | None
|
|
@@ -34,12 +41,7 @@ class ValidationError(Exception):
|
|
|
34
41
|
params: Mapping[str, Any] | None
|
|
35
42
|
def __init__(
|
|
36
43
|
self,
|
|
37
|
-
message:
|
|
38
|
-
ValidationError
|
|
39
|
-
| dict[str, ValidationError | list[str]]
|
|
40
|
-
| list[ValidationError | str]
|
|
41
|
-
| str
|
|
42
|
-
),
|
|
44
|
+
message: ValidationErrorMessageArg,
|
|
43
45
|
code: str | None = ...,
|
|
44
46
|
params: Mapping[str, Any] | None = ...,
|
|
45
47
|
) -> None: ...
|