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

Django tastypie: Add new Array of objects Next to "objects" and "meta" in Api output

在 Django tastypie 中,我从 Api.

中得到了这个输出
{ 
 "meta": {
    "limit": 1000,
    "next": null,
    "offset": 0,
    "previous": null,
    "total_count": 2
  },
 "objects": [
    {},
    {}
   ]
}

我想扩展输出数据。我需要的是在与 "objects" 数据分开的 "objects" 旁边添加名为 "Images" 的新对象数组,如下所示:

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

如何使用 Django 的 tastypie 实现它?

Resource 继承你的 class 并将它们定义为 ListField 如下所示:

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

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

对于列表回复,您可以使用 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):
    ...