【发布时间】:2012-08-17 20:08:58
【问题描述】:
我正在尝试构建如下 API:
api/v1/<client_slug>/track/expenses
但是,至少在这一点上,我并没有真正需要返回 /clients 的任何数据,因此我希望避免必须创建 ClientResource 来遵循 REST 标准。下面是我的 ExpenseResource 的一个示例。
class ExpenseResource(ModelResource):
class Meta:
resource_name = 'expenses'
queryset = Expense.objects.all() # Wish to filter by client_slug
include_resource_uri = False
authentication = OAuthTokenAuthentication()
authorization = Authorization() # allow GET/PUT/POST/DELETE/PATCH
def prepend_urls(self):
return [
url(r"^track/(?P<resource_name>%s)/$" % self._meta.resource_name, self.wrap_view('dispatch_list'), name='api_dispatch_list'),
url(r"^track/(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/$" % self._meta.resource_name, self.wrap_view('dispatch_detail'), name='api_dispatch_detail'),
]
在我的ExpenseResource 中包含 client_slug 的最佳处理方式是什么?我想通过提供的 client_slug 过滤我的费用,我应该怎么做?谢谢!
【问题讨论】: