【问题标题】:How can I import the user model in Django and select all of the objects如何在 Django 中导入用户模型并选择所有对象
【发布时间】: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'

【问题讨论】:

    标签: django django-views django-rest-framework django-users


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 2020-09-07
      • 2020-10-23
      • 1970-01-01
      • 2021-08-21
      相关资源
      最近更新 更多