我正在尝试输入以下内容:
user: Final[CustomUser] = self.request.user
CustomUser
是我在settings.py
中定义的自定义用户模型。我的IDE抱怨Expected type 'CustomUser', got 'AbstractBaseUser' instead
。查看文档,它说self.request.user
返回AUTH_USER_MODEL
的实例,但是显然这没有发生。
也尝试过:
def get(self, request: MyRequest, *args, **kwargs) -> HttpResponse:
user: Final[CustomUser] = self.request.user
哪里
from django.http import HttpRequest
from my_user_app.models import CustomUser
class MyRequest(HttpRequest):
user: CustomUser
根据django-stub的文档,使用自定义用户模型时,您必须提供自己的请求类型。在页面底部的PyPi How can I use HttpRequest with custom user model?
from django.http import HttpRequest
from my_user_app.models import CustomUser
class MyRequest(HttpRequest):
user: CustomUser
然后您将不得不使用它来注释self.request
def get(self, request: MyRequest, *args, **kwargs) -> HttpResponse:
user: Final[CustomUser] = request.user