.perform_create()
方法如下所示:
def perform_create(self, serializer):
serializer.save()
它唯一的论点是
串行器
,但不是
要求
因为它在你的代码中,没有*args和**kwargs。你可能把它和
创造
方法
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
如果您想向perform_create方法添加逻辑,您应该执行以下操作:
def perform_create(self, serializer):
reservation = serializer.save()
book = reservation.book
book.is_available = False
book.save()