I am trying to type the following:
user: Final[CustomUser] = self.request.user
Where CustomUser is my custom user model defined in settings.py. My IDE complains that Expected type 'CustomUser', got 'AbstractBaseUser' instead. Looking at the documentation, it says that self.request.user returns an instance of AUTH_USER_MODEL however clearly this is not happening.
Also tried:
def get(self, request: MyRequest, *args, **kwargs) -> HttpResponse:
user: Final[CustomUser] = self.request.user
Where
from django.http import HttpRequest
from my_user_app.models import CustomUser
class MyRequest(HttpRequest):
user: CustomUser
There is an open issue regarding this error here https://github.com/typeddjango/django-stubs/issues/309
According to the docs for django-stubs you have to provide your own request type when using a custom user model. At the bottom of the page on PyPi How can I use HttpRequest with custom user model?
Then you would have to use this to annotate
self.request