我如何获得像波纹管这样的画廊回应。现在,galleryserializer返回仅包含id的images数组的响应。我无法获取图像的详细信息。
json响应:
{
"name": "New Gallery",
"images": [
{
id: 1,
image: 'url/path/to/image',
alt_text: 'alt'
},
{
id: 2,
image: 'url/path/to/image1',
alt_text: 'alt'
},
]
}
我的 models.py 文件:
class GalleryImage(models.Model):
image = models.ImageField(upload_to='gallery/')
alt_text = models.CharField(max_length=300)
created = models.DateTimeField(auto_now_add=True)
class Gallery(models.Model):
name = models.CharField(max_length=30)
slug = AutoSlugField(populate_from='name', unique_with='id')
images = models.ManyToManyField(GalleryImage, related_name="galleryimages")
created = models.DateTimeField(auto_now_add=True)
我的 serializers.py 文件:
class GalleryImageSerializer(serializers.ModelSerializer):
class Meta:
model = GalleryImage
exclude = '__all__'
class GallerySerializer(serializers.ModelSerializer):
class Meta:
model = Gallery
fields = '__all__'
答案 0 :(得分:1)
使用嵌套序列化
class GallerySerializer(serializers.ModelSerializer):
images = GalleryImageSerializer(many=True)
class Meta:
model = Gallery
fields = '__all__'