我想输入以下内容。
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
这里有一个关于这个错误的公开问题 https:/github.comtypeddjangodjango-stubsissues309。
根据django-stubs的文档,当使用自定义用户模型时,你必须提供自己的请求类型。在PyPi的页面底部,你可以看到 如何使用HttpRequest与自定义用户模型?
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