【发布时间】:2020-08-26 04:11:25
【问题描述】:
我正在尝试输入以下内容:
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
【问题讨论】:
-
request.user为未登录的用户返回一个AnonymousUser。您的CustomUser是AbstractBaseUser的子类吗? -
@IainShelvington 它扩展了
AbstractUser。这还不够吗? -
您使用的是哪个 IDE/插件/框架?我不认为 Django 有类型注释
-
@IainShelvington PyCharm 和 django-stubs
标签: python django typing django-stubs