Python Django Rest框架按PK筛选
我是Django Rest框架的新手,正在尝试找出如何通过PK正确过滤。我尝试重新定义查询集,但没有成功。我目前有一个视频类,并创建了几个视频实例。每个视频实例我都有一个小测验,然后是小测验问题。当我列出某个视频测验的测验问题时,会列出所有测验的所有问题 示例视频/1/测验/问题将列出其问题和所有视频/2/测验/问题。我只想列出视频/1/测验/问题。有没有一个简单的方法可以做到这一点 Views.py:Python Django Rest框架按PK筛选,python,django,django-rest-framework,Python,Django,Django Rest Framework,我是Django Rest框架的新手,正在尝试找出如何通过PK正确过滤。我尝试重新定义查询集,但没有成功。我目前有一个视频类,并创建了几个视频实例。每个视频实例我都有一个小测验,然后是小测验问题。当我列出某个视频测验的测验问题时,会列出所有测验的所有问题 示例视频/1/测验/问题将列出其问题和所有视频/2/测验/问题。我只想列出视频/1/测验/问题。有没有一个简单的方法可以做到这一点 Views.py: # questions class QuizQuestionsList(generics.L
# questions
class QuizQuestionsList(generics.ListCreateAPIView):
queryset = QuizQuestions.objects.all()
serializer_class = QuizQuestionSerializer
class QuizQuestionsDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = QuizQuestions.objects.all()
serializer_class = QuizQuestionSerializer
URL.py:
url(r'^video/(?P<pk>[0-9]+)/quiz/questions/list',
views.QuizQuestionsList.as_view(),
name='quizquestions-list'),
url(r'^video/(?P<pk>[0-9]+)/quiz/questions/detail$',
views.QuizQuestionsDetail.as_view(),
name='quizquestions-detail'),
正如我所知,DRF不允许您想要的嵌套路由。 你需要一个像文档中引用的那样的扩展
是的,我同意@Luiz Django Rest Framework不允许嵌套路由。您只需更改路由规则,代码就可以完美运行 根据我的说法,你的url.py是
url(r'^video/quiz/questions/list/(?P<pk>[0-9]+)',
views.QuizQuestionsList.as_view(),
name='quizquestions-list'),
url(r'^video/quiz/questions/detail/(?P<pk>[0-9]+)',
views.QuizQuestionsDetail.as_view(),
name='quizquestions-detail'),
url(r'^video/quick/questions/list/(?P[0-9]+),
views.QuizQuestionsList.as_view(),
name='quizquestions-list'),
url(r“^video/quick/questions/detail/(?P[0-9]+)”,
views.quizquestionsdeail.as_view(),
name='quizquestions-detail'),
url(r'^video/quiz/questions/list/(?P<pk>[0-9]+)',
views.QuizQuestionsList.as_view(),
name='quizquestions-list'),
url(r'^video/quiz/questions/detail/(?P<pk>[0-9]+)',
views.QuizQuestionsDetail.as_view(),
name='quizquestions-detail'),