def get_queryset(self):
<EOL>queryset = self.get_publishable_queryset()<EOL>queryset = queryset.select_related('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>').prefetch_related(<EOL>'<STR_LIT>',<EOL>'<STR_LIT>',<EOL>'<STR_LIT>'<EOL>)<EOL>queryset = queryset.order_by('<STR_LIT>')<EOL>q = self.request.query_params.get('<STR_LIT:q>', None)<EOL>section = self.request.query_params.get('<STR_LIT>', None)<EOL>tags = self.request.query_params.getlist('<STR_LIT>', None)<EOL>author = self.request.query_params.get('<STR_LIT>', None)<EOL>if q is not None:<EOL><INDENT>queryset = queryset.filter(headline__icontains=q)<EOL><DEDENT>if section is not None:<EOL><INDENT>queryset = queryset.filter(section_id=section)<EOL><DEDENT>if tags is not None:<EOL><INDENT>for tag in tags:<EOL><INDENT>queryset = queryset.filter(tags__id=tag)<EOL><DEDENT><DEDENT>if author is not None:<EOL><INDENT>queryset = queryset.filter(authors__person_id=author)<EOL><DEDENT>return queryset<EOL>
Optionally restricts the returned articles by filtering against a `topic`
        query parameter in the URL.