如何限制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 = ....
我正在使用具有多个操作(检索、列表、创建等...)的视图集。我还使用 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 = ....