From 09890efd0618115574782dd146c490f8d5df720f Mon Sep 17 00:00:00 2001 From: H4rryK4ne <39696020+H4rryK4ne@users.noreply.github.com> Date: Tue, 12 Aug 2025 13:21:45 +0200 Subject: [PATCH 1/2] Replace list with more generic Collection for FilterSetOptions and filterset_factory --- stubs/django-filter/django_filters/filterset.pyi | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stubs/django-filter/django_filters/filterset.pyi b/stubs/django-filter/django_filters/filterset.pyi index 6a8b173ce965..38669d6ccb97 100644 --- a/stubs/django-filter/django_filters/filterset.pyi +++ b/stubs/django-filter/django_filters/filterset.pyi @@ -1,4 +1,5 @@ from collections import OrderedDict +from collections.abc import Collection from enum import Enum from typing import Any, ClassVar @@ -18,8 +19,8 @@ class UnknownFieldBehavior(Enum): class FilterSetOptions: model: type[Model] | None - fields: list[str] | dict[str, list[str]] | str | None - exclude: list[str] | None + fields: Collection[str] | dict[str, Collection[str]] | str | None + exclude: Collection[str] | None filter_overrides: dict[type[models.Field[Any, Any]], dict[str, Any]] # Field override mapping form: type[Form] unknown_field_behavior: UnknownFieldBehavior @@ -81,5 +82,7 @@ class BaseFilterSet: class FilterSet(BaseFilterSet, metaclass=FilterSetMetaclass): ... def filterset_factory( - model: type[Model], filterset: FilterSetMetaclass = ..., fields: list[str] | dict[str, list[str]] | str | None = None + model: type[Model], + filterset: FilterSetMetaclass = ..., + fields: Collection[str] | dict[str, Collection[str]] | str | None = None, ) -> type[FilterSet]: ... From 5d52b74fc41a1be303a2699a9ee7ee2342adb0e8 Mon Sep 17 00:00:00 2001 From: H4rryK4ne <39696020+H4rryK4ne@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:19:15 +0200 Subject: [PATCH 2/2] Replace Collection by Sequence --- stubs/django-filter/django_filters/filterset.pyi | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/stubs/django-filter/django_filters/filterset.pyi b/stubs/django-filter/django_filters/filterset.pyi index 38669d6ccb97..7b59f3004560 100644 --- a/stubs/django-filter/django_filters/filterset.pyi +++ b/stubs/django-filter/django_filters/filterset.pyi @@ -1,5 +1,5 @@ from collections import OrderedDict -from collections.abc import Collection +from collections.abc import Sequence from enum import Enum from typing import Any, ClassVar @@ -19,8 +19,8 @@ class UnknownFieldBehavior(Enum): class FilterSetOptions: model: type[Model] | None - fields: Collection[str] | dict[str, Collection[str]] | str | None - exclude: Collection[str] | None + fields: Sequence[str] | dict[str, Sequence[str]] | str | None + exclude: Sequence[str] | None filter_overrides: dict[type[models.Field[Any, Any]], dict[str, Any]] # Field override mapping form: type[Form] unknown_field_behavior: UnknownFieldBehavior @@ -82,7 +82,5 @@ class BaseFilterSet: class FilterSet(BaseFilterSet, metaclass=FilterSetMetaclass): ... def filterset_factory( - model: type[Model], - filterset: FilterSetMetaclass = ..., - fields: Collection[str] | dict[str, Collection[str]] | str | None = None, + model: type[Model], filterset: FilterSetMetaclass = ..., fields: Sequence[str] | dict[str, Sequence[str]] | str | None = None ) -> type[FilterSet]: ...