0
Django 공식 웹 사이트의 시리얼 라이저 관계 부분에서는 몇 가지 관계를 표현하고 설명하는 음악 앨범 예제를 제공합니다.Django Rest의 Serializer 릴레이션과의 혼동
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)
나중에 모델을 Serializer와 상호 작용합니다.
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의 혼란 변수 트랙입니다. 변수 트랙은 앨범 및 트랙 모델과 관련이없는 것 같습니다. 앨범 및 트랙 모델과의 관계는 어떻습니까? 어떻게 호출하고 호출합니까? 유니 코드 AlbumSerializer에서 트랙 모델의 메서드는 무엇입니까?
자세히보기는 AlbumSerializer에서 변수 트랙과 동일 related_name에서 변수 트랙인가? – pipi
@pipi는 모두 같은 것을 말합니다. –