Django : Как вывести список изображений альбома?
Я создаю модель альбома и модель изображения, в одном альбоме может быть много изображений. Как я могу сделать, чтобы отобразить в JSON ответе (альбома) список изображений, содержащихся в альбоме?
это мои модели :
class Album(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=30)
def __str__(self):
return self.title
class AlbumImage(models.Model):
image = models.ImageField(blank=True, null=True, upload_to=upload_path_image)
title = models.CharField(max_length=30)
album = models.ForeignKey(Album, on_delete=models.CASCADE)
def __str__(self):
return self.title
Сначала необходимо определить related_name
в поле album
.
class AlbumImage(models.Model):
...
album = models.ForeignKey(Album, related_name = "images", on_delete=models.CASCADE)
...
А в сериализаторе Album вы можете установить атрибут images, используя сериализатор AlbumImage.
class AlbumSerializer(serializers.ModelSerializer):
images = AlbumImageSerializer(read_only = True, many = True)
class Meta:
fields = ('id', 'owner', 'title', 'images')
model = Album