В соответствующем примере они использовали для возврата данных Album
, тогда как вы пытаетесь вернуть / напечатать Track
данных.
Итак, если вы попробуете, как показано ниже, он напечатает / вернет данные, как описано / показано в документе DRF
def index(request):
if Track.objects.all().count() == 0:
album = Album.objects.create(album_name='something', artist='John')
<b>print(AlbumSerializer(album).data) # this will print the data as explianed in the doc</b>
Track.objects.create(album=album, order=1, title='something', duration=1)
return render(request, 'index.html')
Если вы хотите показать детали, обработанные до album
, создайте новый сериализатор альбомов, AlbumNewSerializer
и свяжите его в TrackSerializer
как,
<b>class AlbumNewSerializer(serializers.ModelSerializer):
class Meta:
model = Album
fields = ('album_name', 'artist')</b>
class TrackSerializer(serializers.ModelSerializer):
<b>album = AlbumNewSerializer()</b>
class Meta:
model = Track
fields = ('order', 'title', 'duration', 'album')
NOTE : Вы можете использовать AlbumSerializer
вместо AlbumNewSerializer
, но результат может быть безобразно вложенным (не проверено ..)