@jj装饰器在django rest框架中作为列表控制器

时间:2013-12-10 07:47:12

标签: django-rest-framework

所以我想使用网址过滤所有销售发票......例如

/api/v1/invoice/sales/

我认为最好的方法是在视图集中使用@link方法。这是我的代码..

@link()
def sales(self, request, pk):
    qs = Invoice.objects.filter(is_sales=True)
    serializer = InvoiceSerializer(qs)
    return Response(serializer.data)

但是当我转到'/ api / v1 / invoice / sales /'并使用断点时,脚本不会在任何时候停止..

我在这里做错了什么?

//小鼠

1 个答案:

答案 0 :(得分:4)

@link()@action()装饰器仅链接到详细信息端点(在您的情况下为/api/v1/invoice/{pk}/sales/),请参阅docs

但是,有一个第三方库(drf-extensions)可以在集合级别添加这些装饰器。