Django视图仅适用于一个url,尽管视图中生成了相应的查询集

Django视图仅适用于一个url,尽管视图中生成了相应的查询集,django,django-rest-framework,django-views,django-rest-framework-filters,Django,Django Rest Framework,Django Views,Django Rest Framework Filters,我正在尝试访问应用程序中属于课程的课程。当我使用“url”时,会返回相应的结果。但是,当我尝试任何其他url(如“”)时,会出现错误 结果 预期成果 实际结果 { "detail": "Not found." } 网址 看法 模型 该视图返回对象的 和的。在我缺乏经验的眼中,视图似乎正在返回适当的查询集,但它无法为第二个url生成任何结果。如何使其正确响应。您还可以使用泛型。RetrieveAPIView获取详细视图。而不是声明查询集和序列化程序类。实际上我是这样做的请确认代码中没有错

我正在尝试访问应用程序中属于课程的课程。当我使用“url”时,会返回相应的结果。但是,当我尝试任何其他url(如“”)时,会出现错误 结果

预期成果

实际结果

{
    "detail": "Not found."
}
网址

看法

模型

该视图返回对象的

的。在我缺乏经验的眼中,视图似乎正在返回适当的查询集,但它无法为第二个url生成任何结果。如何使其正确响应。

您还可以使用泛型。RetrieveAPIView获取详细视图。而不是声明查询集和序列化程序类。

实际上我是这样做的请确认代码中没有错误。请检查您的数据库中是否有
。我非常确定我有第2课。除了第1课之外,该代码不适用于任何组合1@FaisalManzerIt是您应该在此处重写的
get\u对象
,而不是
get\u queryset
(并且应该使用get not filter)@DanielRoseman谢谢你,它现在起作用了。但是我似乎不能把你的评论作为答案。
{
    "id": 1,
    "title": "course 1 lessson 2",
    "owner": 1,
    "course": 1
}
{
    "detail": "Not found."
}
 path('courses/<int:pk>/lessons/<int:lpk>/', LessonDetail.as_view()),
class LessonSerializer(serializers.ModelSerializer):
    class Meta:
        model = Lesson
        fields = ['id','title','owner','course']
class LessonDetail(generics.RetrieveUpdateDestroyAPIView):
    # queryset = Lesson.objects.all()
    serializer_class = LessonSerializer
    def get_queryset(self):
       # GET PK FROM URL USING KWARGS
        course_pk = self.kwargs['pk']
        lesson_pk = self.kwargs['lpk']
        qs = Lesson.objects.filter(course_id=course_pk,id=lesson_pk)
        print(qs)
        return qs
class Lesson(models.Model):
    title = models.CharField(max_length=150, help_text='Enter course title')
    video = models.CharField(max_length=150, help_text='Enter course title', null=True)
    thumbnail = models.CharField(max_length=150, help_text='Enter course title', null=True)
    pub_date = models.DateField(null=True, blank=True)
    course = models.ForeignKey('Course', on_delete=models.CASCADE,related_name='lessons')
    description = models.TextField(max_length=1000, help_text='Enter a brief description of the course')
    owner = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE,  )