Django Rest Framework中权限/过滤器的最佳实践

时间:2018-06-28 01:33:36

标签: django django-rest-framework django-views

我是DRF的新手,无法理解仅对用户拥有的信息进行访问的最佳方法。我有看法:

class InvoiceAPIView(generics.ListAPIView):
    serializer_class = InvoiceSerializer
    permission_classes = [permissions.IsAuthenticated]

    def get_queryset(self):
        return Invoice.objects.filter(company__user=self.request.user)

使用过滤器方法是否足够好,或者我应该添加自定义权限甚至进行序列化。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您只需要限制当前用户拥有的对象列表,则覆盖queryset是可以的。

Permission classes用于根据视图或对象级别检查权限。如果需要允许所有用户查看所有对象,但只有所有者可以编辑特定对象,则使用权限会很好。