Add a detail page for radios

This commit is contained in:
Bat 2018-03-31 12:59:45 +01:00
parent 876aee19cf
commit 85aef4422a
6 changed files with 110 additions and 2 deletions

View file

@ -20,6 +20,7 @@ class RadioViewSet(
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.ListModelMixin,
mixins.DestroyModelMixin,
viewsets.GenericViewSet):
serializer_class = serializers.RadioSerializer
@ -40,6 +41,17 @@ class RadioViewSet(
raise Http404
return serializer.save(user=self.request.user)
@detail_route(methods=['get'])
def tracks(self, request, *args, **kwargs):
radio = self.get_object()
tracks = radio.get_candidates().for_nested_serialization()
serializer = TrackSerializerNested(tracks, many=True)
data = {
'count': len(tracks),
'results': serializer.data
}
return Response(data, status=200)
@list_route(methods=['get'])
def filters(self, request, *args, **kwargs):
serializer = serializers.FilterSerializer(