0
Djangoの公式サイトのシリアライザの関係部では、いくつかの関係を表現し説明するためのミュージックアルバムの例を提供しています。Django Restのシリアライザの関係に混乱しています
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')
order = models.IntegerField()
title = models.CharField(max_length=100)
duration = models.IntegerField()
class Meta:
unique_together = ('album', 'order')
ordering = ['order']
def __unicode__(self):
return '%d: %s' % (self.order, self.title)
その後、シリアライザとモデルをやりとりします。
class AlbumSerializer(serializers.ModelSerializer):
tracks = serializers.StringRelatedField(many=True)
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')
結果は次のとおりです。
{
'album_name': 'Things We Lost In The Fire',
'artist': 'Low',
'tracks': [
'1: Sunflower',
'2: Whitetail',
'3: Dinosaur Act',
...
]
}
私はAlbumSerializerで混乱して変数のトラックです。可変トラックはアルバムとトラックのモデルとは無関係です。アルバムとトラックのモデルにはどのような関係がありますか?どのように呼び出して呼び出しますかunicode AlbumSerializerのトラックモデルのメソッド?それはrelated_name
album = models.ForeignKey(Album, related_name='tracks')
を経由して関連している
もっと読むAlbumSerializerにおける変数のトラックと同じrelated_nameにおける変数のトラックですか? – pipi
@pipiは両方とも同じものを指します。 –