我正在尝试构建如下 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'),
]
将client_slug包含在我的 中的最佳处理方法是什么ExpenseResource
?我想通过提供的client_slug过滤我的费用,我应该怎么做?谢谢!