Dans la partie relations Serializer sur le site officiel de Django, il fournit un exemple d'albums de musique pour représenter et expliquer une relation.Confused to Relation sérialiseur dans 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)
Plus tard, il interagit avec Serializer.
class AlbumSerializer(serializers.ModelSerializer):
tracks = serializers.StringRelatedField(many=True)
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')
Le résultat est:
{
'album_name': 'Things We Lost In The Fire',
'artist': 'Low',
'tracks': [
'1: Sunflower',
'2: Whitetail',
'3: Dinosaur Act',
...
]
}
Je suis confus pistes variables dans le AlbumSerializer. Il semble que les pistes de variable ne sont pas pertinentes pour le modèle Album et piste. Comment est-il lié aux modèles Album et Track? Comment il appelle et invoque unicode méthode de modèle de piste dans l'AlbumSerializer?
@ Arun Ghosh pistes variables dans related_name même que les pistes variables dans AlbumSerializer? – pipi
@pipi se réfèrent à la même chose. –