[英]Could not resolve URL for hyperlinked relationship
看到很多關於類似問題的帖子,要么不是很清楚,要么是我聽不懂,所以在這里再次發布我的問題。
我還有許多其他的“ xxxList”和“ xxxDetail”,它們都工作正常,除了以下例外:
無法使用視圖名稱“ userinfo-detail”解析超鏈接關系的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)
應用網址:
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”:“未找到。” }
這是什么問題?
我可能錯了,但是問題似乎出在您的usersInfo
URL中的usersInfo
“ I”上。 嘗試使用name='userinfo-list'
和name='userinfo-detail'
代替name='userInfo-list'
和name='userInfo-detail'
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.