11from collections .abc import Callable , Container , Iterable , MutableMapping
22from typing import Any , Protocol , TypeAlias , TypeVar
33
4- from django .db .models import Model , QuerySet
4+ from django .db .models import Model , Q , QuerySet
55from django_stubs_ext import StrOrPromise
66from rest_framework .fields import Field
77from rest_framework .serializers import BaseSerializer
@@ -34,7 +34,14 @@ class UniqueTogetherValidator:
3434 requires_context : bool
3535 queryset : QuerySet
3636 fields : Iterable [str ]
37- def __init__ (self , queryset : QuerySet , fields : Iterable [str ], message : StrOrPromise | None = ...) -> None : ...
37+ def __init__ (
38+ self ,
39+ queryset : QuerySet ,
40+ fields : Iterable [str ],
41+ message : StrOrPromise | None = ...,
42+ condition_fields : Iterable [str ] | None = None ,
43+ condition : Q | None = None ,
44+ ) -> None : ...
3845 def enforce_required_fields (self , attrs : Container [str ], serializer : BaseSerializer ) -> None : ...
3946 def filter_queryset (
4047 self , attrs : MutableMapping [str , Any ], queryset : QuerySet [_T ], serializer : BaseSerializer
@@ -44,6 +51,8 @@ class UniqueTogetherValidator:
4451 ) -> QuerySet [_T ]: ...
4552 def __call__ (self , attrs : MutableMapping [str , Any ], serializer : BaseSerializer ) -> None : ...
4653
54+ def qs_exists_with_condition (queryset : QuerySet [Any ], condition : Q | None , against : dict [str , Any ]) -> bool : ...
55+
4756class ProhibitSurrogateCharactersValidator :
4857 message : StrOrPromise
4958 code : str
0 commit comments