1. url에서 id가져오는 방법

ex: url : "post/<int: post_id>"

class PostDetail(APIView):
    def get(self, request, format=None, **kwargs):
        posts = Post.objects.get(pk=self.kwargs['post_id'])
        serializer = PostSerializer(posts)
        return Response(serializer.data)

2.Github login DRF로 구현하기

Django-Rest-Framework(DRF)로 소셜 로그인 API 구현해보기 (Google, Kakao, Github) (2)

3. multiple model (relation 없는) 한번에 serialize 하기

Multiple Models in Django Rest Framework?

예시

class Main(APIView):
    def get(self, request, format=None, **kwargs):
        me = request.user
        posts = Post.objects.all()

        me_serializer = UserSerializer(me)
        posts_serializer = PostSerializer(posts, many=True)

        return Response({"me": me_serializer.data, "all_posts":posts_serializer.data})

4. Nested Serialize = Serialize할 때, Foreign key로 설정되어있는 친구도 serialize

이거 그냥 model serialize하면 user가져올때 id로 가져와서 serialize함.

근데 나는 user 내용또한 serialize하고싶음

→ serialize 중첩 = Nested Serialize

class PostDetailSerializer(serializers.ModelSerializer):
    
    class Meta:
        model = Post
        fields = "__all__"
    
    def to_representation(self, instance):
        response = super().to_representation(instance)
        response['child'] = UserSerializer(instance.user).data
        return response