Django Nested Serializer未序列化外键对象

时间:2020-02-01 00:03:55

标签: python django serialization django-rest-framework

我知道这个问题以前曾被问过,但我尝试了许多不同的解决方案,但似乎无法使其正常工作。我想要做的就是在api调用中在另一个对象中显示一个对象。在这个简单的示例中,假设我有一个艺术家对象和一个轨道对象。序列化跟踪对象时,我希望显示的艺术家对象使用外键。

这是我的模型。py:

from django.db import models


class Artist(models.Model):
    artist_name = models.CharField(max_length=100)


class Track(models.Model):
    artist = models.ForeignKey(Artist, on_delete=models.CASCADE, verbose_name='Artist' )
    track_name = models.CharField(max_length=100)

和我的serializers.py

from rest_framework import serializers
from . import models

class ArtistSerializer(serializers.ModelSerializer):
    class Meta:
        model = models.Artist
        fields = '__all__'



class TrackSerializer(serializers.ModelSerializer):
    artist = ArtistSerializer(read_only=True)
    class Meta:
        model = models.Track
        fields = ('id', 'track_name', 'artist')

如果有人可以提供帮助,将不胜感激!

谢谢

0 个答案:

没有答案