如何在 Django 中导入用户模型并选择所有对象
Posted
技术标签:
【中文标题】如何在 Django 中导入用户模型并选择所有对象【英文标题】:How can I import the user model in Django and select all of the objects 【发布时间】:2013-06-22 17:28:46 【问题描述】:当我使用时
from django.conf import settings
在我的 DjangoRestFramework 视图中,
class UserList(ListCreateAPIView):
queryset = settings.AUTH_USER_MODEL.objects.all()
serializer_class = UserSerializer
我收到错误消息
AttributeError at /users/
'str' object has no attribute 'objects'
Request Method: GET
Request URL: http://localhost:9999/users/
Django Version: 1.5.1
Exception Type: AttributeError
Exception Value:
'str' object has no attribute 'objects'
【问题讨论】:
【参考方案1】:settings.AUTH_USER_MODEL
是一个字符串。它不是模型对象。
你需要做这样的事情:
try:
from django.contrib.auth import get_user_model
except ImportError: # django < 1.5
from django.contrib.auth.models import User
else:
User = get_user_model()
现在,
queryset = User.objects.all()
-- 或者--
如果你只使用 django 1.5,你可以这样做:
from django.contrib.auth import get_user_model
queryset = get_user_model().objects.all()
【讨论】:
以上是关于如何在 Django 中导入用户模型并选择所有对象的主要内容,如果未能解决你的问题,请参考以下文章