0

我使用 sorl_thumbnail 在tastepie 中生成缩略图,例如:

class ImageResource(ModelResource):
    class Meta:
        always_return_data=True
        filtering = {
            "album": ('exact',),
        }
        queryset = Image.objects.all()
        cache = SimpleCache(timeout=100)
        resource_name = 'image'
        authorization = ImageAuthorization()

    def dehydrate(self, bundle):

        im = get_thumbnail(bundle.obj.src, '200x200', quality=90)
        bundle.data['thumb'] = im.url
        return bundle

现在我有一个专辑资源,我想将最后上传的图片作为专辑的封面图片,这就是我目前所拥有的:

class AlbumResource(ModelResource):

    cover_img = fields.ForeignKey('album.api.ImageResource')

这只会给我封面图片的网址,例如

'album/v1/image/99'

我想要的是当我获得资源时,我可以实际显示封面图片,比如

 {
    cover_img:path_to_cover_thumb,
 }

我怎样才能做到这一点?

4

1 回答 1

1

好吧,我终于明白了,这就是我所做的:

class AlbumResource(ModelResource):
    cover_img = fields.ForeignKey('album.api.ImageResource','cover_img')


class Meta:
    always_return_data=True

    queryset = Album.objects.all()
    resource_name = 'album'
    authorization = AlbumAuthorization()

def dehydrate(self, bundle):
    im = get_thumbnail(bundle.obj.cover_img.src, '200x200', quality=90)
    bundle.data['cover_thumb'] = im.url
    return bundle
于 2013-05-28T01:24:45.513 回答