Я хочу получить вложенные результаты для случаев, когда две модели не связаны напрямую, а косвенно связаны с помощью таблицы.
ниже - просто для воспроизведения ситуации, в которой я нахожусь, а не для фактического кода, который я использую .
class ArtistSerializer(serializers.ModelSerializer):
class Meta:
model = Artist
fields = ['name', 'age']
class TrackSerializer(serializers.ModelSerializer):
artist = ArtistSerializer(read_only=True)
class Meta:
model = Track
fields = ['order', 'title', 'duration', 'artist']
class ConcertSerializer(serializers.ModelSerializer):
artist = ArtistSerializer(read_only=True)
tracks = TrackSerializer(many=True, read_only=True)
class Meta:
model = Concert
fields = ['concert_name', 'artist', 'tracks']
Artist
и Track
связаны между собой. Кроме того, Artist
и Concert
связаны между собой. Но я хочу получить tracks
, используя TrackSerializer
, чтобы получить треки с тем же артистом для концерта, когда они не связаны напрямую. Это возможно? Для концерта будет несколько треков.