request.user 和实际用户对象之间有区别吗?

is there a difference between request.user and actual User object?

我已经定义了我的 UserDetail 模型,它与 User 具有一对一的关系。

class UserDetail(models.Model):
    user = models.OneToOneField(User)
    ....

但是当我试图通过 request.user 访问 UserDetail 对象时,在我看来它抛出了错误,因为“User has no userdetail.”。

form = UpdateProfile(request.user.userdetail)

虽然我可以在 Django shell 中使用 user.userdetail。 我不知道为什么会这样,request.user 与 User 对象有什么不同吗?

没有。这是因为该特定用户没有关联的 UserDetail 实例。