request.user 返回抽象用户 (django-stubs)
request.user returning abstract user (django-stubs)
我正在尝试输入以下内容:
user: Final[CustomUser] = self.request.user
其中 CustomUser
是我在 settings.py
中定义的自定义用户模型。我的 IDE 抱怨 Expected type 'CustomUser', got 'AbstractBaseUser' instead
。查看文档,它说 self.request.user
returns 是 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.com/typeddjango/django-stubs/issues/309
根据 django-stubs 的文档,您必须在使用自定义用户模型时提供自己的请求类型。在 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
我正在尝试输入以下内容:
user: Final[CustomUser] = self.request.user
其中 CustomUser
是我在 settings.py
中定义的自定义用户模型。我的 IDE 抱怨 Expected type 'CustomUser', got 'AbstractBaseUser' instead
。查看文档,它说 self.request.user
returns 是 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.com/typeddjango/django-stubs/issues/309
根据 django-stubs 的文档,您必须在使用自定义用户模型时提供自己的请求类型。在 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