我在URL中输入了一个slug,我希望输入的slug在ModelViewSet中作为request.data
具体来说,
url.py
> router = routers.DefaultRouter()
>
> router.register(r'courses', CollegeCourseViewSet,
> basename='college_course_list')
>
> urlpatterns = [
> path('api/v1/colleges/<slug:slug>/', include(router.urls)), ]
在这里,我希望college slug作为request.data在ModelViewSet中过滤该学院的课程
views.py
> class CollegeCourseViewSet(viewsets.ReadOnlyModelViewSet):
> queryset = Course.objects.all()
> lookup_field = 'slug'
> filter_backends = (SearchFilter, DjangoFilterBackend)
> search_fields = 'name'
>
> def list(self, request, *args, **kwargs):
> try:
> queryset = self.queryset
> queryset = queryset.filter(courses_colleges__college__slug=request.data)
> return Response(CourseSerializer(queryset, many=True).data, status=status.HTTP_200_OK)
> except queryset is None:
> raise Http404
但request.data在输出时为空
是否有任何特定的方法将request.data发送到ViewSet中的list函数
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐