Skip to content

Commit 5ac16c1

Browse files
committed
fix(relations): replace the data type TypeVar with Any
Remove the data type TypeVar in favor of Any. Then subclasses don't have to deal with this rule anymore. Ref #168
1 parent f1ef30d commit 5ac16c1

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

rest_framework-stubs/relations.pyi

+6-6
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ _MT = TypeVar("_MT", bound=Model)
3131
_DT = TypeVar("_DT") # Data Type
3232
_PT = TypeVar("_PT") # Primitive Type
3333

34-
class RelatedField(Field[_MT, _DT, _PT, Any]):
34+
class RelatedField(Field[_MT, Any, _PT, Any]):
3535
queryset: QuerySet[_MT] | Manager[_MT] | None
3636
html_cutoff: int | None
3737
html_cutoff_text: str | None
@@ -57,7 +57,7 @@ class RelatedField(Field[_MT, _DT, _PT, Any]):
5757
allow_null: bool = ...,
5858
) -> None: ...
5959
# mypy doesn't accept the typing below, although its accurate to what this class is doing, hence the ignore
60-
def __new__(cls, *args: Any, **kwargs: Any) -> RelatedField[_MT, _DT, _PT] | ManyRelatedField: ... # type: ignore
60+
def __new__(cls, *args: Any, **kwargs: Any) -> RelatedField[_MT, _PT] | ManyRelatedField: ... # type: ignore
6161
@classmethod
6262
def many_init(cls, *args: Any, **kwargs: Any) -> ManyRelatedField: ...
6363
def get_queryset(self) -> QuerySet[_MT]: ...
@@ -71,9 +71,9 @@ class RelatedField(Field[_MT, _DT, _PT, Any]):
7171
def iter_options(self) -> Iterable[Option]: ...
7272
def display_value(self, instance: _MT) -> str: ...
7373

74-
class StringRelatedField(RelatedField[_MT, _MT, str]): ...
74+
class StringRelatedField(RelatedField[_MT, str]): ...
7575

76-
class PrimaryKeyRelatedField(RelatedField[_MT, _MT, Any]):
76+
class PrimaryKeyRelatedField(RelatedField[_MT, Any]):
7777
pk_field: str | None
7878
def __init__(
7979
self,
@@ -98,7 +98,7 @@ class PrimaryKeyRelatedField(RelatedField[_MT, _MT, Any]):
9898
pk_field: str | Field | None = ...,
9999
) -> None: ...
100100

101-
class HyperlinkedRelatedField(RelatedField[_MT, str, Hyperlink]):
101+
class HyperlinkedRelatedField(RelatedField[_MT, Hyperlink]):
102102
reverse: Callable
103103
lookup_field: str
104104
lookup_url_kwarg: str
@@ -134,7 +134,7 @@ class HyperlinkedRelatedField(RelatedField[_MT, str, Hyperlink]):
134134

135135
class HyperlinkedIdentityField(HyperlinkedRelatedField): ...
136136

137-
class SlugRelatedField(RelatedField[_MT, str, str]):
137+
class SlugRelatedField(RelatedField[_MT, str]):
138138
slug_field: str | None
139139
def __init__(
140140
self,

0 commit comments

Comments
 (0)