diff --git a/rest_framework-stubs/serializers.pyi b/rest_framework-stubs/serializers.pyi index 9f32ddcfe..833005d17 100644 --- a/rest_framework-stubs/serializers.pyi +++ b/rest_framework-stubs/serializers.pyi @@ -253,6 +253,7 @@ class ModelSerializer(Serializer, BaseSerializer[_MT]): self, kwargs: MutableMapping[str, Any], extra_kwargs: MutableMapping[str, Any] ) -> MutableMapping[str, Any]: ... def get_extra_kwargs(self) -> dict[str, Any]: ... + def get_unique_together_constraints(self, model: _MT) -> Iterator[tuple[set[tuple[str, ...]], Manager[_MT]]]: ... def get_uniqueness_extra_kwargs( self, field_names: Iterable[str], declared_fields: Mapping[str, Field], extra_kwargs: dict[str, Any] ) -> tuple[dict[str, Any], dict[str, HiddenField]]: ... diff --git a/rest_framework-stubs/utils/field_mapping.pyi b/rest_framework-stubs/utils/field_mapping.pyi index 2a3ddf358..ea46f5672 100644 --- a/rest_framework-stubs/utils/field_mapping.pyi +++ b/rest_framework-stubs/utils/field_mapping.pyi @@ -1,8 +1,9 @@ from _typeshed import Incomplete from collections.abc import MutableMapping, Sequence -from typing import Any, Generic, TypeVar +from typing import Any, Generic, Iterator, TypeVar from django.db import models +from rest_framework.validators import UniqueValidator NUMERIC_FIELD_TYPES: Sequence[type[models.Field]] @@ -17,6 +18,7 @@ class ClassLookupDict(Generic[_K, _V]): def needs_label(model_field: models.Field, field_name: str) -> bool: ... def get_detail_view_name(model: models.Model) -> str: ... +def get_unique_validators(field_name: str, model_field: models.Field) -> Iterator[UniqueValidator]: ... def get_field_kwargs(field_name: str, model_field: models.Field) -> dict[str, Any]: ... def get_relation_kwargs(field_name: str, relation_info: Incomplete) -> dict[str, Any]: ... def get_nested_relation_kwargs(relation_info: Incomplete) -> dict[str, Any]: ... diff --git a/scripts/stubtest/allowlist_todo.txt b/scripts/stubtest/allowlist_todo.txt index d370f5a15..9de2b3673 100644 --- a/scripts/stubtest/allowlist_todo.txt +++ b/scripts/stubtest/allowlist_todo.txt @@ -135,7 +135,3 @@ rest_framework.validators.Validator rest_framework.views.APIView.metadata_class rest_framework.views.AsView rest_framework.views.GenericView - -# Added in 3.15: -rest_framework.serializers.ModelSerializer.get_unique_together_constraints -rest_framework.utils.field_mapping.get_unique_validators