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):
...
在 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):
...