使用 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"
}
获得上述结果的建议解决方案是什么?