【发布时间】:2014-02-13 02:01:42
【问题描述】:
假设这个网址:
http://localhost:8000/articles/1111/comments/
我想获取给定文章的所有 cmets(此处为 1111)。
这就是我捕获此网址的方式:
url(r'^articles/(?P<uid>[-\w]+)/comments/$', comments_views.CommentList.as_view()),
相关视图如下所示:
class CommentList(generics.ListAPIView):
serializer_class = CommentSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
lookup_field = "uid"
def get_queryset(self):
comments = Comment.objects.filter(article= ???)
return comments
有关信息,相关的序列化程序
class CommentSerializer(serializers.ModelSerializer):
owner = UserSerializer()
class Meta:
model = Comment
fields = ('id', 'content', 'owner', 'created_at')
如您所见,我已更新我的 get_queryset 以过滤文章中的 cmets,但我不知道如何捕获“uid”参数。 以 ?uid=value 结尾的 url,我可以使用 self.request.QUERY_PARAMS.get('uid') 但在我的情况下,我不知道该怎么做。 有什么想法吗?
【问题讨论】:
标签: django django-rest-framework