【发布时间】:2016-01-27 05:13:54
【问题描述】:
您好,在执行此请求时:groups/25010a31-fc5b-47c8-9c5c-d740e5743f52/members/4/ - 我得到“详细信息”:“未找到”
但是,如果您查看查询集,我已经打印了 Groupmember 实例,而这最终会打印出该特定实例,如此清晰地存在它?
查看:
class MemberDetail(mixins.RetrieveModelMixin,
mixins.DestroyModelMixin,
mixins.UpdateModelMixin,
generics.GenericAPIView):
serializer_class = GroupMembersSerializer
lookup_field = "user_id"
lookup_url_kwarg = "uuid"
def get_queryset(self):
group = self.kwargs["uuid"]
user_id = self.kwargs["user_id"]
print GroupMember.objects.get(group = group, user_id = user_id)
return GroupMember.objects.get(group = group, user_id = user_id)
def get(self, request, *args, **kwargs):
return self.retrieve(self, request, *args, **kwargs)
def put(self, request, *args, **kwargs):
return self.update(self, request, *args, **kwargs)
def delete(self, request, *args, **kwargs):
return self.destroy(self, request, *args, **kwargs)
网址:
urlpatterns = [
url(r'^$', views.GroupList.as_view()),
url(r'^(?P<uuid>[^/]+)/$', views.GroupDetail.as_view()),
url(r'^(?P<uuid>[^/]+)/members/$', views.MemberList.as_view()),
url(r'^(?P<uuid>[^/]+)/members/(?P<user_id>[0-9]+)/$', views.MemberDetail.as_view()),
]
有什么帮助吗?
【问题讨论】:
-
我马上看到一件事:您的
get_queryset返回单个对象而不是查询集。我认为您的意思是filter而不是get。 -
@Ivan
Filter结果同样的问题 -
请发布您的网址。
-
@RahulGupta 网址已添加
-
@Danny 这真的很奇怪——你的网址都不包含
"group"(通常类似于r'^group/(?P<uuid>[^/]+))。通常路由器会寻找"group-detail",但找不到。我错过了什么吗?
标签: json django django-views django-rest-framework mixins