@@ -251,22 +251,24 @@ def get_serializer_context(self):
251251
252252 return context
253253
254+ http_method_names = ["get" , "post" ]
254255 search_fields = ("full_code" , "title" , "sections__instructors__name" )
256+ filter_backends = [TypedCourseSearchBackend , CourseSearchAdvancedFilterBackend ]
255257
256- def get (self , request , * args , ** kwargs ):
257- queryset = super ().get_queryset ()
258- queryset = TypedCourseSearchBackend ().filter_queryset (request , queryset , self )
258+ def get_filter_backends (self ):
259+ if self .request .method == "GET" :
260+ return [TypedCourseSearchBackend ]
261+
262+ if self .request .method == "POST" :
263+ return [TypedCourseSearchBackend , CourseSearchAdvancedFilterBackend ]
259264
260- serializer = self .get_serializer (queryset , many = True )
261- return Response (serializer .data )
265+ return super ().get_filter_backends ()
262266
263267 def post (self , request , * args , ** kwargs ):
264- queryset = super ().get_queryset ()
265- queryset = TypedCourseSearchBackend ().filter_queryset (request , queryset , self )
266- queryset = CourseSearchAdvancedFilterBackend ().filter_queryset (request , queryset , self )
268+ return self .list (request , * args , ** kwargs )
267269
268- serializer = self . get_serializer ( queryset , many = True )
269- return Response ( serializer . data )
270+ def get ( self , request , * args , ** kwargs ):
271+ return self . list ( request , * args , ** kwargs )
270272
271273
272274class CourseDetail (generics .RetrieveAPIView , BaseCourseMixin ):
0 commit comments