如何在API视图中执行更多操作?

时间:2018-10-05 07:14:10

标签: python django django-rest-framework

我有一个ServiceCreateAPIView

class ServiceCreateAPIView(CreateAPIView):
    serializer_class = ServiceSerializer
    permission_classes = [IsSuperAdmin]
    queryset = Service.objects.all()

在其中,我想在创建它之后做另一件事。 我怎么知道呢?


EDIT-01

我的其他逻辑需要使用request和创建的实例。如何实现我的要求?

1 个答案:

答案 0 :(得分:0)

如果要使用创建的对象,可以覆盖perform_create方法:

class ServiceCreateAPIView(CreateAPIView):
    ...

    def perform_create(self, serializer):
        object = serializer.save()
        # other actions

如果不需要创建的对象,则可以覆盖post方法:

class ServiceCreateAPIView(CreateAPIView):
    ...

    def post(self, request, *args, **kwargs):
        response = super().post(request, *args, **kwargs)
        # other actions
        return response