子类化资源但使用1个URL来获取tastypie中的资源

时间:2013-02-01 14:58:03

标签: django rest tastypie

假设我有MediaResource和两个相关(子类)资源,如下所示。

class PopularMediaResource(MediaResource):
 def get_object_list(self, request):
  return self.Meta.queryset.order_by('-num_hits')


class UserMediaResource(MediaResource):
 def get_object_list(self,request):
  return self.Meta.queryset.filter(mediahit__user__id=request.user.id)

(从https://groups.google.com/forum/?fromgroups=#!topic/django-tastypie/JGmY8tUzlX0借来的例子)
这很好用,但我必须为每个资源使用不同的URL

eg, /api/v1/MediaResource/
/api/v1/PopularMediaResource/
/api/v1/UserMediaResource/

依旧......

因此,having multiple resource classes是您想要返回资源的different set时使用tastypie的典型方法吗?

1 个答案:

答案 0 :(得分:0)

我认为你应该使用过滤和订购机制。

以下是文档:

http://django-tastypie.readthedocs.org/en/latest/resources.html#basic-filtering