django 查询中 ImageField 的 URL

San*_*wal 3 django django-models django-queryset

我有一个ModelA带有 ImageField 类型字段的模型。现在,我想一次性获取所有图像的网址。

所以,当我做 ModelA.objects.all().values() 时,我想得到类似的东西:

[{"id":1, "image_field": "/media/upload_folder/xyz.jpg"}, {...}]
Run Code Online (Sandbox Code Playgroud)

现在,它给出了类似的东西:

[{"id":1, "image_field": "upload_folder/xyz.jpg"}, {...}]
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

我能做什么?

jpi*_*pic 6

MEDIA_URL 可以更改,因此 Django 不会将其存储在数据库中。您可以自己添加它:

from django.conf import settings

values = ModelA.objects.all().values()
for value in values:
    value['image_field'] = settings.MEDIA_URL + value['image_field']
Run Code Online (Sandbox Code Playgroud)