我正在使用django rest框架并创建了一个序列化器类
class ForumTopicListSerializer(ModelSerializer):
threadUrl = HyperlinkedIdentityField(
view_name = 'forum-api:thread_list_forum_topic'
)
class Meta:
model = ForumTopic
fields =[
'id',
'title',
'threadUrl'
]
我有一个HyperLinkedIDentityField,视图中有forum-api:thread_list_forum_topic,但问题是这个视图需要传递一个参数。
其网址为
url(r'thread/topic/(?P<forumTopic>[0-9]+)/$', ThreadListForumTopicAPIView.as_view(), name = 'thread_list_forum_topic'),
那么我如何传递forumTopic的参数是HyperLinkedIdentityField?
答案 0 :(得分:0)
您想在哪里获取您的网址?在views.py
或serializers.py
?如果你在views.py
这里是一个片段:
from rest_framework import generics
class ThreadListForumTopicAPIView(generics.ListAPIView):
serializer_class = serializers.ForumTopicListSerializer
def get_queryset(self):
forumTopic = self.kwargs["forumTopic"]
URL参数在视图类的self.kwargs
中设置。上面的代码只是代码段,您显然必须完成它才能返回查询集。
以下是支持文档:
http://www.django-rest-framework.org/api-guide/filtering/#filtering-against-the-url