2016-07-16 10 views
0

パラメータとしてのシリアライザはperform_createメソッドで渡されましたが、渡される場所は明確ではありません。誰でもシリアライザのパラメータがどこから渡され、どのように動作するか説明できますか?perform_createtのシリアライザはどこから来ますか?

class SnippetList(generics.ListCreateAPIView): 
    queryset = Snippet.objects.all() 
    serializer_class = SnippetSerializer 
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,) 
    def perform_create(self, serializer): 
     serializer.save(owner=self.request.user) 

答えて

1

それはCreateModelMixinから来ている:

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) 
関連する問題