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
Вернуться на верх