DRF lookup field serializer
Взял модель из документации Drf в качестве примера.
Я пытаюсь выполнить вывод данных из более чем двух модолей ( в случае с примером только 2) так что бы после, указать параметры для url
Models.py
class Album(models.Model):
album_name = models.CharField(max_length=100)
artist = models.CharField(max_length=100)
class Track(models.Model):
album = models.ForeignKey(Album, related_name='tracks', on_delete=models.CASCADE)
order = models.IntegerField()
title = models.CharField(max_length=100)
duration = models.IntegerField()
Serializers.py
class TrackSerializer(serializers.ModelSerializer):
class Meta:
model = Track
fields = ['order', 'title', 'duration']
class AlbumSerializer(serializers.ModelSerializer):
tracks = TrackSerializer(many=True, read_only=True)
class Meta:
model = Album
fields = ['album_name', 'artist', 'tracks']
View.py
class ListAlbumTracksView(generics.ListAPIView):
authentication_classes = [SessionAuthentication]
permission_classes = [IsAuthenticated]
serializer_class = AlbumSerializer
def get_queryset(self):
obj = Album.objects.filter(album_name=self.kwargs.get('album_name'), tracks__order=self.kwargs.get('order')
return obj
url.py
path('album/<album_name>/<order>/', ListAlbumTracksView.as_view(), name='allow_albumTrack'),
И когда я делаю запрос фильтр tracks__order не работает. хотя если я указываю другое поле, django выдаёт что можно использовать его как поле, но когда я его использую, данных нет.
Подскажите, в чём может быть ошибка ? или как сделать ограничение по таблице track