Django Rest框架PK过滤

2024-10-02 14:25:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django Rest框架的新手,正在尝试如何通过PK正确地过滤。我尝试重新定义查询集,但没有成功。我现在有一个视频类,并创建了几个视频实例。每个视频实例我都有一个小测验,然后是小测验问题。当我列出某个视频测验的测验问题时,所有测验的问题都会列出。在

示例Video/1/quizz/Questions将列出其问题和所有Video/2/question/Questions。我只想列出视频/1/测验/问题。有简单的方法吗?在

在视图.py公司名称:

# questions
class QuizQuestionsList(generics.ListCreateAPIView):
    queryset = QuizQuestions.objects.all()
    serializer_class = QuizQuestionSerializer


class QuizQuestionsDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = QuizQuestions.objects.all()
    serializer_class = QuizQuestionSerializer

在网址.py公司名称:

^{pr2}$

在序列化程序.py在

class QuizQuestionSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = QuizQuestions
        fields = ('url', 'quiz_id', 'question_text', 'answer_one', 'answer_two', 'answer_three', 'answer_four',
                  'correct_answer')

Tags: 实例answerpy名称视频objectsvideo公司
2条回答

是的,我同意@luizdjango Rest框架不允许嵌套路由。您只需更改路由规则,代码就可以完美地运行了。在

按我说你的网址.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'),

我知道,DRF不允许嵌套路由。 你需要一个类似文件中引用的扩展名。在

DRF Routers Doc

相关问题 更多 >