在序列化模型时,您如何告诉Django返回ImageField.url(不是相对路径)?

时间:2012-03-21 17:40:34

标签: django serialization django-models

模型上的ImageField

some_image = models.ImageField(upload_to= get_upload_path)

这是我用于序列化的内容:

data = serializers.serialize("json",ModelName.objects.all(),use_natural_keys=True)

我为some_image获取的json是相对于MEDIA_URL

解决它manualy我调用some_image.url,并且工作正常,我怎么做它所以这将是图像在使用serializers.serialize时返回的默认值

2 个答案:

答案 0 :(得分:0)

以下是指定序列化哪些字段的文档:https://docs.djangoproject.com/en/dev/topics/serialization/#subset-of-fields

听起来你应该包括url和除some_image之外的所有其他字段。

答案 1 :(得分:0)

我也试图找到一个合适的解决方案。但最终提出了以下代码:

stores = list(Store.objects.all().values('title', 'logo'))
for store in stores:
    store['logo'] = \
          request.build_absolute_uri(settings.MEDIA_URL+store['logo'])
stores_json = json.dumps(stores)