首页 > 解决方案 > Django - 如何使用 get_object_or_404 获取自定义用户模型

问题描述

我想检索我的User类的一个实例,它扩展了AbstractBaseUser. 我还想使用 djangoget_object_or_404快捷方式通过主键过滤我的用户,但这不起作用:

from django.shortcuts import get_object_or_404
from django.conf import settings

user = get_object_or_404(settings.AUTH_USER_MODEL, pk=pk)

引发以下异常:

"ValueError at /v1/users/24c47b4a-920e-47c7-902c-80c64c0dd657/
First argument to get_object_or_404() must be a Model, Manager, or QuerySet, not 'str'.

在 mysettings.py中,这就是我的AUTH_USER_MODEL样子:

AUTH_USER_MODEL = 'users.User'

有没有办法做到这一点?

标签: django

解决方案


也许你可以使用这个解决方案:

from django.shortcuts import get_object_or_404
from django.conf import settings

user = get_object_or_404(get_user_model(), pk=pk)

推荐阅读