python - HyperlinkedModelSerializer 在 django rest 框架中使用 auth.User 抛出 ImproperlyConfigured 错误

标签 python django rest django-rest-framework serialization

我有以下使用 django rest 框架的代码。

网址.py

urlpatterns = [
    url(r'^portfolio1/', include('portfolio1.urls')),
    url(r'^admin/', admin.site.urls),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))]

portfolio1/urls.py

app_name = 'portfolio1'
urlpatterns = [
    url(r'^$', \
            views.api_root),
    url(r'^users/$', \
            views.UserList.as_view(), \
            name='user-list'),
    url(r'^users/(?P<pk>[-\d]+)/$', \
            views.UserDetail.as_view(), \
            name='user-detail'),
]
urlpatterns = format_suffix_patterns(urlpatterns)

portfolio1/serializers.py

from django.contrib.auth.models import User as AuthUser
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = AuthUser
        fields = ('id', 'username', 'url')

portfolio1/views.py

from django.contrib.auth.models import User as AuthUser
class UserList(generics.ListAPIView):
    queryset = AuthUser.objects.all()
    serializer_class = UserSerializer

class UserDetail(generics.RetrieveAPIView):
    queryset = AuthUser.objects.all()
    serializer_class = UserSerializer

@api_view(('GET',))
@permission_classes((permissions.AllowAny, ))
def api_root(request, format=None):
    return Response({
        'users': reverse('user-list', request=request, format=format)
    })

我收到以下错误。

ImproperlyConfigured: Could not resolve URL for hyperlinked relationship using view name "user-detail". You may have failed to include the related model in your API, or incorrectly configured the lookup_field attribute on this field.

我知道错误的含义,但不确定我为什么会收到它。它与 django rest 框架(https://github.com/tomchristie/django-rest-framework/issues/2711)的版本控制有什么关系吗?我已确保我没有犯与 HyperlinkedIdentityField returning error only on User model 相同的错误.

最佳答案

portfolio1/urls.py 中删除 app_name = 'portfolio1'

关于python - HyperlinkedModelSerializer 在 django rest 框架中使用 auth.User 抛出 ImproperlyConfigured 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35439426/

相关文章:

python - 数组+标量? C

python - django static_root理解-IOError-??

java - 验证每个 Rest API 请求的访问 token 的最佳方式

web-services - REST (json) Web 服务发现协议(protocol)

rest - 如何更改 cURL 调用以识别超过 1 个参数?

python - 将 DataFrame 中的值替换为 None

python - scapy 中未定义名称 'raw'

python - django 模板 : how to expand a variable into the string argument for the built-in tag `url`

Django 版本 1.5 : 'url' requires a non-empty first argument. Django 1.5 中的语法发生了变化

python - MySQL 和 Python - "image not found"- 永久修复?