See #50: pagination, search and ordering on artist browsing

This commit is contained in:
Eliot Berriot 2017-12-17 19:42:58 +01:00
parent 860b6b1e1f
commit 04c70116c3
No known key found for this signature in database
GPG key ID: DD6965E2476E5C27
8 changed files with 124 additions and 20 deletions

View file

@ -47,16 +47,15 @@ class TagViewSetMixin(object):
class ArtistViewSet(SearchMixin, viewsets.ReadOnlyModelViewSet):
queryset = (
models.Artist.objects.all()
.order_by('name')
.prefetch_related(
'albums__tracks__files',
'albums__tracks__artist',
'albums__tracks__tags'))
serializer_class = serializers.ArtistSerializerNested
permission_classes = [ConditionalAuthentication]
search_fields = ['name']
ordering_fields = ('creation_date', 'name')
filter_class = filters.ArtistFilter
ordering_fields = ('id', 'name', 'creation_date')
class AlbumViewSet(SearchMixin, viewsets.ReadOnlyModelViewSet):
queryset = (