【发布时间】:2020-01-05 21:16:42
【问题描述】:
我有一个通过 ForeignKey 与 Item 模型相关的 Image 模型,但该资源的 API 端点只显示图像的名称而不是图像的 url。 (我在项目模型中有一个图像文件,可以显示为 url/uri)。那么,如何序列化数据以获取图片的所有媒体 url。
型号:
class Item(models.Model):
title = models.CharField(max_length=200)
...
img = models.ImageField()
class ItemDetailImg(models.Model):
item = models.ForeignKey(
Item, on_delete=models.CASCADE, related_name='images')
image = models.ImageField()
序列化器:
class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = ("id",
"title",
...
"images"
)
一个 API 响应:
{
"id": 16,
"title": "Venice",
...
"img": "http://127.0.0.1:8000/media/roman-kraft-g_gwdpsCVAY-unsplash.jpg",
"images": [
7,
8
]
}
我期待这种 api 响应
{
"id": 16,
"title": "Venice",
...
"img": "http://127.0.0.1:8000/media/roman-kraft-g_gwdpsCVAY-unsplash.jpg",
"images": [
"http://127.0.0.1:8000/media/image1.jpg",
"http://127.0.0.1:8000/media/image2.jpg"
]
}
谢谢你,任何帮助将不胜感激!
【问题讨论】:
-
向我们展示您获得此数据的部分
标签: json django api django-rest-framework serialization