typeddjango / djangorestframework-stubs

PEP-484 stubs for django-rest-framework
MIT License
439 stars 115 forks source link

Improve `GenericAPIView.serializer_class` classvar type generics #672

Closed jheld closed 5 days ago

jheld commented 5 days ago

I have made things!

The type for the attribute does not match what the get_serializer_class function returns.

Thus, modifying it to match so that the truthy type of it is type[BaseSerializer[_MT_co]]

Unfortunately this doesn't solve the issue of projects programmatically returning different serializers in get_serializer_class such that one option would be: return self.serializer_class such that it would be technically incompatible with the typing. But that seems outside the scope of this change and there are other ways to accomplish it (e.g. holding known serializer classes in a dict on the class as an attribute).

Related issues