I'm still pretty new to creating views in Django Rest Framework, I can make basic views but I still have no clue about definitions so please help me out here.
I've got this View which gets the answers of a question (by a given question id). The list definition works perfectly, however I want to make a delete_all function which deletes these results. You can see what I came up with below.
URL
router.register('manager/course/question/answers', QuestionAnswerView)
http://.../manager/course/question/answers/5 works.
http://.../manager/course/question/answers/delete_all/5 does not work.
View
class QuestionAnswerView(viewsets.ModelViewSet):
queryset = QuestionAnswer.objects.all()
serializer_class = QuestionAnswerSerializer
# works
def list(self, request):
queryset = QuestionAnswer.objects.all()
if request.query_params:
question_id = request.query_params['question_id']
queryset = QuestionAnswer.objects.filter(question=question_id)
serializer = QuestionAnswerSerializer(queryset, many=True)
return Response(serializer.data)
# does not work
def delete_all(self, request):
if request.query_params:
question_id = request.query_params['question_id']
queryset = QuestionAnswer.objects.filter(question=question_id)
queryset.delete()
return Response('success')