一对多关系中,通常外键设置在多的表中,一的表中就没有相关字段,所以要想查询一的表中关联的多的副表,可以在建Model的时候在多的外键字段上添加related_name参数,来进行反向查询。这样在序列化.py中就可以使用“关联名”=关联表的序列化类进行序列化副表内容。
例如:
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', on_delete=models.CASCADE)
order = models.IntegerField()
title = models.CharField(max_length=100)
duration = models.IntegerField()
class Meta:
unique_together =['album','order']
ordering =['order']
def__str__(self):
return'%d: %s'%(self.order, self.title)
AlbumSerializer
class TrackSerializer(serializers.ModelSerializer):
class Meta:
model = Track
fields =['order','title','duration']
class AlbumSerializer(serializers.ModelSerializer):
tracks = TrackSerializer(many=True)
class Meta:
model = Album
fields =['album_name','artist','tracks']

MATT-学习永不放弃![[转]设置openwrt软路由,通过ipv6外网访问家中电脑nas等设备-MATT-学习永不放弃](https://65.chat/usr/uploads/2021/03/3586096122.png)
![[转]制作Linux的DD包-MATT-学习永不放弃](https://pic.cosmiccat.net/images/2018/06/30/vb1.png)