Tastypie获得最新记录

时间:2013-05-21 12:44:19

标签: tastypie

而不是在未设置ID时返回多个对象。我希望它只返回一个,最新的。

# return latest entry
/api/entry/
{'id': 2, 'foo': 'bar', ...}

# return specified entry
/api/entry/1/
{'id': 1, 'foo': 'bar', ...}

我尝试覆盖obj_get_listget_object_list,但都不适用于我。

我是否需要为此创建视图?

2 个答案:

答案 0 :(得分:1)

我不知道您是如何尝试覆盖obj_get_list的,但基本上您要做的就是在Resource中定义它:

def get_object_list(self, request):
    return super(self, Resource).get_object_list(request)[:1]

如果您没有在默认情况下在日期字段上设置排序,也可以附加latest('somedate')

答案 1 :(得分:0)

使用aniav的解决方案,并添加必要的修改:

Resource
    class Meta:
         max_limit=1
    get_object_list(self,request):
        return super(self, Resource).get_object_list(request).filter(user=request.user).order_by('-date')

当然,日期可以替换为您想要最新的字段。