pulseapi/issues/views.py (22 lines of code) (raw):

""" Show all issues and a set with descriptions """ from rest_framework.generics import ListAPIView, RetrieveAPIView from rest_framework import filters from pulseapi.issues.serializers import ( IssueSerializer, IssueDetailSerializer, ) from pulseapi.issues.models import Issue class IssueListView(ListAPIView): """ A view to retrieve all Issues. Append `/{issueName}` to URL to get more details for an issue Editable only via django admin """ queryset = Issue.objects.public() serializer_class = IssueSerializer filter_backends = ( filters.SearchFilter, ) search_fields = ( '^name', ) class IssueDetailView(RetrieveAPIView): """ A view to give the description (and potentially future details) of an issue """ pagination_class = None serializer_class = IssueDetailSerializer lookup_field = 'name' def get_queryset(self): return Issue.objects.public().slug(self.kwargs['name'])