diff --git a/django-stubs/contrib/admin/widgets.pyi b/django-stubs/contrib/admin/widgets.pyi index c8af27b61..49d940aa8 100644 --- a/django-stubs/contrib/admin/widgets.pyi +++ b/django-stubs/contrib/admin/widgets.pyi @@ -21,12 +21,18 @@ class FilteredSelectMultiple(forms.SelectMultiple): choices: _Choices = ..., ) -> None: ... -class AdminDateWidget(forms.DateInput): +class BaseAdminDateWidget(forms.DateInput): def __init__(self, attrs: _OptAttrs | None = ..., format: str | None = ...) -> None: ... -class AdminTimeWidget(forms.TimeInput): +class AdminDateWidget(BaseAdminDateWidget): + template_name: str + +class BaseAdminTimeWidget(forms.TimeInput): def __init__(self, attrs: _OptAttrs | None = ..., format: str | None = ...) -> None: ... +class AdminTimeWidget(BaseAdminTimeWidget): + template_name: str + class AdminSplitDateTime(forms.SplitDateTimeWidget): template_name: str def __init__(self, attrs: _OptAttrs | None = ...) -> None: ... @@ -70,7 +76,6 @@ class ManyToManyRawIdWidget(ForeignKeyRawIdWidget): class RelatedFieldWidgetWrapper(forms.Widget): template_name: str - choices: ModelChoiceIterator widget: forms.ChoiceWidget rel: ManyToOneRel can_add_related: bool @@ -90,6 +95,10 @@ class RelatedFieldWidgetWrapper(forms.Widget): ) -> None: ... @property def is_hidden(self) -> bool: ... + @property + def choices(self) -> ModelChoiceIterator: ... + @choices.setter + def choices(self, value: ModelChoiceIterator) -> None: ... def get_related_url(self, info: tuple[str, str], action: str, *args: Any) -> str: ... def get_context(self, name: str, value: Any, attrs: _OptAttrs | None) -> dict[str, Any]: ... def value_from_datadict(self, data: Mapping[str, Any], files: Mapping[str, Iterable[File]], name: str) -> Any: ... diff --git a/scripts/stubtest/allowlist_todo.txt b/scripts/stubtest/allowlist_todo.txt index 2c58335df..104ad8f85 100644 --- a/scripts/stubtest/allowlist_todo.txt +++ b/scripts/stubtest/allowlist_todo.txt @@ -66,10 +66,10 @@ django.contrib.admin.views.autocomplete.AutocompleteJsonView.process_request django.contrib.admin.views.autocomplete.AutocompleteJsonView.serialize_result django.contrib.admin.views.main.ChangeList.search_form_class django.contrib.admin.widgets.AutocompleteMixin.media -django.contrib.admin.widgets.BaseAdminDateWidget -django.contrib.admin.widgets.BaseAdminTimeWidget django.contrib.admin.widgets.FilteredSelectMultiple.Media django.contrib.admin.widgets.get_select2_language +django.contrib.admin.widgets.BaseAdminTimeWidget.Media +django.contrib.admin.widgets.BaseAdminDateWidget.Media django.contrib.admindocs.utils.non_capturing_group_matcher django.contrib.admindocs.utils.remove_non_capturing_groups django.contrib.admindocs.utils.replace_metacharacters