Is there a way to order a nested serializer _set
, for example order by pk
or time-stamp
.
So basically order song_set
In your ViewSet
, you can specify a queryset with a custom Prefetch
object that you can filter and order as you like. Prefetching causes just one additional database query (instead of one per parent object when using SerializerMethodField
), giving vastly improved performance.
from rest_framework import viewsets
from django.db.models import Prefetch
class AlbumViewSet(viewsets.ModelViewSet):
queryset = Album.objects.prefetch_related(Prefetch('song_set',
queryset=Song.objects.order_by('-timestamp')))