Skip to content

Commit 549e2e6

Browse files
committed
5.0: Update django.contrib.admin
1 parent fff15a2 commit 549e2e6

File tree

8 files changed

+21
-31
lines changed

8 files changed

+21
-31
lines changed

django-stubs/contrib/admin/__init__.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ from .filters import SimpleListFilter as SimpleListFilter
1515
from .options import HORIZONTAL as HORIZONTAL
1616
from .options import VERTICAL as VERTICAL
1717
from .options import ModelAdmin as ModelAdmin
18+
from .options import ShowFacets as ShowFacets
1819
from .options import StackedInline as StackedInline
1920
from .options import TabularInline as TabularInline
2021
from .sites import AdminSite as AdminSite

django-stubs/contrib/admin/exceptions.pyi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@ from django.core.exceptions import SuspiciousOperation
22

33
class DisallowedModelAdminLookup(SuspiciousOperation): ...
44
class DisallowedModelAdminToField(SuspiciousOperation): ...
5+
class AlreadyRegistered(Exception): ...
6+
class NotRegistered(Exception): ...

django-stubs/contrib/admin/filters.pyi

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ from typing import Any
33

44
from django.contrib.admin.options import ModelAdmin
55
from django.contrib.admin.views.main import ChangeList
6+
from django.db.models.aggregates import Count
67
from django.db.models.base import Model
78
from django.db.models.fields import Field
89
from django.db.models.fields.related import RelatedField
910
from django.db.models.query import QuerySet
11+
from django.db.models.query_utils import Q
1012
from django.http.request import HttpRequest
1113
from django.utils.functional import _StrOrPromise
1214

@@ -22,14 +24,18 @@ class ListFilter:
2224
def queryset(self, request: HttpRequest, queryset: QuerySet) -> QuerySet | None: ...
2325
def expected_parameters(self) -> list[str | None]: ...
2426

25-
class SimpleListFilter(ListFilter):
27+
class FacetsMixin:
28+
def get_facet_counts(self, pk_attname: str, filtered_qs: QuerySet[Model]) -> dict[str, Count]: ...
29+
def get_facet_queryset(self, changelist: ChangeList) -> dict[str, int]: ...
30+
31+
class SimpleListFilter(FacetsMixin, ListFilter):
2632
parameter_name: str | None
2733
lookup_choices: Any
2834
def value(self) -> str | None: ...
2935
def lookups(self, request: HttpRequest, model_admin: ModelAdmin) -> Iterable[tuple[Any, str]] | None: ...
3036
def choices(self, changelist: ChangeList) -> Iterator[dict[str, Any]]: ...
3137

32-
class FieldListFilter(ListFilter):
38+
class FieldListFilter(FacetsMixin, ListFilter):
3339
field: Field
3440
field_path: str
3541
title: str
@@ -119,4 +125,5 @@ class RelatedOnlyFieldListFilter(RelatedFieldListFilter):
119125
class EmptyFieldListFilter(FieldListFilter):
120126
lookup_kwarg: str
121127
lookup_val: Any
128+
def get_lookup_condition(self) -> Q: ...
122129
def choices(self, changelist: ChangeList) -> Iterator[dict[str, Any]]: ...

django-stubs/contrib/admin/options.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ from typing_extensions import TypeAlias, TypedDict
3838

3939
IS_POPUP_VAR: str
4040
TO_FIELD_VAR: str
41+
IS_FACETS_VAR: str
4142
HORIZONTAL: Literal[1]
4243
VERTICAL: Literal[2]
4344

django-stubs/contrib/admin/sites.pyi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class AdminSite:
6161
) -> None: ...
6262
def unregister(self, model_or_iterable: type[Model] | Iterable[type[Model]]) -> None: ...
6363
def is_registered(self, model: type[Model]) -> bool: ...
64+
def get_model_admin(self, model: type[Model]) -> ModelAdmin: ...
6465
def add_action(self, action: _ActionCallback, name: str | None = ...) -> None: ...
6566
def disable_action(self, name: str) -> None: ...
6667
def get_action(self, name: str) -> _ActionCallback: ...

django-stubs/contrib/admin/utils.pyi

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ from django.db.models.deletion import Collector
1313
from django.db.models.fields import Field, reverse_related
1414
from django.db.models.options import Options
1515
from django.db.models.query import QuerySet
16+
from django.db.models.query_utils import Q
1617
from django.forms.forms import BaseForm
1718
from django.forms.formsets import BaseFormSet
1819
from django.http.request import HttpRequest
@@ -24,7 +25,11 @@ _T = TypeVar("_T")
2425
class FieldIsAForeignKeyColumnName(Exception): ...
2526

2627
def lookup_spawns_duplicates(opts: Options, lookup_path: str) -> bool: ...
27-
def prepare_lookup_value(key: str, value: datetime.datetime | str) -> bool | datetime.datetime | str: ...
28+
def get_last_value_from_parameters(parameters: dict[str, list[str] | str], key: str) -> str | None: ...
29+
def prepare_lookup_value(
30+
key: str, value: list[bool | datetime.datetime | str] | datetime.datetime | str, separator: str
31+
) -> list[bool | datetime.datetime | str] | bool | datetime.datetime | str: ...
32+
def build_q_object_from_lookup_parameters(parameters: dict[str, list[str]]) -> Q: ...
2833
def quote(s: int | str | UUID) -> str: ...
2934
def unquote(s: str) -> str: ...
3035
def flatten(fields: Any) -> list[Callable | str]: ...

django-stubs/contrib/admin/views/main.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class ChangeList:
7777
def get_ordering_field(self, field_name: Callable | str) -> Expression | str | None: ...
7878
def get_ordering(self, request: HttpRequest, queryset: QuerySet) -> list[Expression | str]: ...
7979
def get_ordering_field_columns(self) -> dict[int, Literal["desc", "asc"]]: ...
80-
def get_queryset(self, request: HttpRequest) -> QuerySet: ...
80+
def get_queryset(self, request: HttpRequest, exclude_parameters: list[str | None] | None = ...) -> QuerySet: ...
8181
filter_specs: list[ListFilter]
8282
has_filters: bool
8383
has_active_filters: bool

scripts/stubtest/allowlist_todo_django50.txt

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,11 @@
55
django.conf.FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSG
66
django.conf.global_settings.CSRF_COOKIE_MASKED
77
django.conf.global_settings.FORMS_URLFIELD_ASSUME_HTTPS
8-
django.contrib.admin.AdminSite.get_model_admin
9-
django.contrib.admin.AllValuesFieldListFilter.get_facet_counts
10-
django.contrib.admin.BooleanFieldListFilter.get_facet_counts
11-
django.contrib.admin.ChoicesFieldListFilter.get_facet_counts
12-
django.contrib.admin.DateFieldListFilter.get_facet_counts
13-
django.contrib.admin.EmptyFieldListFilter.get_facet_counts
14-
django.contrib.admin.EmptyFieldListFilter.get_lookup_condition
15-
django.contrib.admin.RelatedFieldListFilter.get_facet_counts
16-
django.contrib.admin.ShowFacets
17-
django.contrib.admin.SimpleListFilter.get_facet_counts
18-
django.contrib.admin.exceptions.AlreadyRegistered
19-
django.contrib.admin.exceptions.NotRegistered
20-
django.contrib.admin.filters.AllValuesFieldListFilter.get_facet_counts
21-
django.contrib.admin.filters.BooleanFieldListFilter.get_facet_counts
22-
django.contrib.admin.filters.ChoicesFieldListFilter.get_facet_counts
23-
django.contrib.admin.filters.DateFieldListFilter.get_facet_counts
24-
django.contrib.admin.filters.EmptyFieldListFilter.get_facet_counts
25-
django.contrib.admin.filters.EmptyFieldListFilter.get_lookup_condition
26-
django.contrib.admin.filters.FacetsMixin
27-
django.contrib.admin.filters.RelatedFieldListFilter.get_facet_counts
28-
django.contrib.admin.filters.SimpleListFilter.get_facet_counts
29-
django.contrib.admin.options.IS_FACETS_VAR
30-
django.contrib.admin.sites.AdminSite.get_model_admin
31-
django.contrib.admin.utils.build_q_object_from_lookup_parameters
32-
django.contrib.admin.utils.get_last_value_from_parameters
33-
django.contrib.admin.views.main.ChangeList.get_queryset
348
django.contrib.auth.hashers.CryptPasswordHasher
359
django.contrib.auth.hashers.verify_password
3610
django.contrib.contenttypes.fields.GenericForeignKey.get_content_type
3711
django.contrib.contenttypes.fields.GenericForeignKey.get_prefetch_querysets
3812
django.contrib.contenttypes.prefetch
39-
django.contrib.gis.admin.AdminSite.get_model_admin
4013
django.contrib.gis.admin.OpenLayersWidget
4114
django.contrib.gis.admin.options.spherical_mercator_srid
4215
django.contrib.gis.admin.widgets

0 commit comments

Comments
 (0)