Django tastypie:添加新的对象数组在Api输出中的“objects”和“meta”旁边

时间:2015-01-18 12:22:51

标签: django python-2.7 tastypie

在Django tastypie中,我有一个Api的输出。

{ 
 "meta": {
    "limit": 1000,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 2
  },
 "objects": [
    {},
    {}
   ]
}

我想扩展输出数据。我需要的是添加名为" Images"的新对象数组。在"对象"旁边与"对象分开的#34;数据,像这样:

{ 
 "meta": {
    "limit": 1000,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 2
  },
 "objects": [
    {},
    {}
   ],
 "images": [
    {},
    {}
   ]
}

如何使用Django的tastypie实现它?

2 个答案:

答案 0 :(得分:1)

资源继承您的课程,并将其定义为 ListField ,如下所示:

objects = fields.DictField(attribute='objects')

categories = fields.ListField(attribute='category')

答案 1 :(得分:1)

对于列表回复,您可以使用 Resource.alter_list_data_to_serialize

class PageDataAddition(object):
    def alter_list_data_to_serialize(self, request, data):
        data['page'] = {'your_data': True}
        return data

class ItemResource(PageDataAddition, ModelResource):
    ...