7

我设置了 Django Tastypie API。

我想查询数据库中与名称匹配的对象的数量。

这可能在现有模型资源上,还是我需要设置新资源来处理这种特定情况?(这些数据通常在结果的元数据部分返回?是否有一个选项只是从参数中返回?)

所以如果我的网址通常是这样的:

http://127.0.0.1:8000/api/v1/library/?name__icontains=ABC

我可以添加参数或更改 url 以便它只返回元数据(我只想要返回名称包含“ABC”的库的数量)而不是所有对象?

4

1 回答 1

7

你可以传入一个 get 参数:

http://127.0.0.1:8000/api/v1/library/?name__icontains=ABC&meta_only=true

并将此方法添加到您的资源中:

def alter_list_data_to_serialize(self, request, data):
    if request.GET.get('meta_only'):
        return {'meta': data['meta']}
    return data

文档:http ://django-tastypie.readthedocs.org/en/latest/resources.html#alter-list-data-to-serialize

于 2013-08-23T11:04:30.760 回答