1

使用 django-tasypie 时,除了资源 url 之外,有没有一种方法可以从相关对象中添加一个额外的字段?

我有一个相册模型和一个照片模型。

class Album(models.Model):
    title = models.CharField(_('Album Name'), max_length=250, default=_('Untitled Album'))

class Photo(models.Model):
    album = models.ForeignKey(Album)

我在 api 中有这些作为 ModelResources:

class PhotoResource(ModelResource):
    album = fields.ToOneField('ampwefly.apps.photos.api.AlbumResource', 'album')

class AlbumResource(ModelResource):
    photo = fields.ToManyField(PhotoResource, 'photo_set', related_name='photo', full=True) 

就目前而言,当我访问单张照片的 url 时,我可以返回以下内容:

{
    album: "/api/v1/album/2/",
    description: "",
    id: "1",
    image: "/uploads/uploads/users/images/e-jey.jpg",
    resource_uri: "/api/v1/photo/1/",
    uploaded: "2012-11-22T22:42:26.051779"
}

如果我使用:

album = fields.ToOneField('ampwefly.apps.photos.api.AlbumResource', 'album', full=True)

这将返回专辑的所有字段,但我想做的是除了 Resource url 之外还返回标题,例如:

{
    album: {
        id: "2",
        resource_uri: "/api/v1/album/2/",
        title: "Untitled Album"
    },
    description: "",
    id: "1",
    image: "/uploads/uploads/users/images/e-jey.jpg",
    resource_uri: "/api/v1/photo/1/",
    uploaded: "2012-11-22T22:42:26.051779"
}

获得上述结果的建议解决方案是什么?

4

0 回答 0