如何限制django rest框架中的动作

How to limit actions in django rest framework

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

我已经尝试在我的视图集中这样做:allowed_methods = ('GET','POST',)

swagger还有这些不用的方法。我怎样才能改变这种行为?还有另一种方法可以限制视图集中的操作数量吗?或者也许问题出在自大方面?

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

默认模型视图集是:

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

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

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