看到很多关于类似问题的帖子,要么不是很明确,要么我无法理解,所以请在这里再次发布我的问题。无法解析超链接关系的URL
我有很多其他的“xxxList”和“xxxDetail”,所有的工作很好,除了这总是异常:
无法使用视图名称 “用户信息细节”超链接关系解析URL。您可能未能在您的API中包含相关型号 ,或在 此字段上错误地配置了
lookup_field
属性。
型号:
class UserInfo(models.Model):
# extend Django user object
user = models.ForeignKey(User, related_name='parkingUser')
串行:
class UserInfoSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = UserInfo
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'is_staff', 'is_active', 'date_joined')
查看:
class UserInfoList(generics.ListCreateAPIView):
queryset = UserInfo.objects.all()
serializer_class = UserInfoSerializer
permission_classes = (permissions.IsAuthenticated,)
def perform_create(self, serializer):
serializer.save(user=self.request.user)
class UserInfoDetail(generics.RetrieveAPIView):
queryset = UserInfo.objects.all()
serializer_class = UserInfoSerializer
permission_classes = (permissions.IsAuthenticated,)
class UserList(generics.ListCreateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (permissions.IsAuthenticated,)
class UserDetail(generics.RetrieveAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (permissions.IsAuthenticated, IsSuperUsersGroupOrDeny)
App网址:
url(r'^usersInfo/$', views.UserInfoList.as_view(), name='userInfo-list'),
url(r'^usersInfo/(?P<pk>[0-9]+)/$', views.UserInfoDetail.as_view(), name='userInfo-detail'),
url(r'^users/$', views.UserList.as_view(), name='user-list'),
url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view(), name='user-detail'),
我几乎取消了所有的测试逻辑代码,它不能再简单了,还是一样的异常,奇怪的是,如果我测试了“userInfoDetail”在标准网址浏览器,如:
http://rest.myDomain.xxx:8090/usersInfo/replaceWithIntegerNumber/
他们中的一些返回相同的错误,他们中的一些返回
{ “detail”:“Not found。” }
这里有什么问题?
不能相信这是事业的原因,这种问题总是花费我几个小时才能弄清楚,谢谢! – Shawn