3

ModelAタイプ ImageField のフィールドを持つモデルがあります。ここで、すべての画像の URL を一度に取得したいと考えています。

したがって、ModelA.objects.all().values() を実行すると、次のような結果が得られます。

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

今、それは次のようなものを与えます:

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

何か不足していますか?

私に何ができる?

4

2 に答える 2

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']
于 2012-08-28T15:28:18.483 に答える
1

settings.pyファイルのMEDIA_URLは可変であるため、最初に追加することはできません。

各オブジェクトをループして、MEDIA_URL値を自分で付加します。

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

スラッシュには特に注意してください....2つを一緒にしたくない//...MEDIA_URLの最後に1つあるかどうかによって異なります。

于 2012-08-28T15:33:31.627 に答える