2012-08-28 53 views
3

我有一個模型ModelA與字段的類型ImageField。現在,我想要一次性獲得所有圖像的URL。Django查詢中的ImageField的urll

所以,當我做ModelA.objects.all()值(),我想是這樣的:。

[{"id":1, "image_field": "/media/upload_folder/xyz.jpg"}, {...}] 

現在,它給像:

[{"id":1, "image_field": "upload_folder/xyz.jpg"}, {...}] 

上午我錯過了什麼?

我該怎麼辦?

回答

3

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'] 
1

settings.py文件中的MEDIA_URL是可變的,所以它不能在開頭爲您添加它。

循環遍歷每個對象並自行預先設置MEDIA_URL值。

for value in values: 
    newURL = settings.MEDIA_URL 
    newURL += value['image_field'] 
    value['image_field'] = newURL 

要格外小心用斜槓....你不想兩個一起結束// ...這取決於你是否有一個在你的MEDIA_URL或沒有結束。