Skip to main content
 首页 » 编程设计

python之如何限制django rest框架中的 Action

2025年05月04日44kenshinobiy

我正在使用具有多个操作(检索、列表、创建等...)的 View 集。我还使用 swagger 来清晰地了解我的 API。问题是它充满了未使用的方法(PATCH、PUT、DELETE)并且它弄乱了 View 。

我已尝试在我的 View 集中执行此操作:allowed_methods = ('GET','POST',)

swagger 仍然有所有这些未使用的方法。我怎样才能改变这种行为?还有另一种方法可以限制 View 集中的操作数量吗?或者问题出在自大方面?

请您参考如下方法:

您需要更准确地组合您的 View 集 View 以摆脱它们。

默认的 ModelViewSet 是:

class ModelViewSet( 
        mixins.CreateModelMixin, 
        mixins.RetrieveModelMixin, 
        mixins.UpdateModelMixin, 
        mixins.DestroyModelMixin, 
        mixins.ListModelMixin, 
        GenericViewSet): 
    pass 

因此,如果您只想说出列表和创建方法,它将是:

class MyViewSet( 
        mixins.CreateModelMixin, 
        mixins.ListModelMixin, 
        GenericViewSet): 
    serializer_class = .... 
    queryset = ....