READ 오퍼레이션 수행
instance = self.get_object() : 테이블로부터 instance 가져옴serializer = self.get_serializer(instance) : 가져온 데이터(instance)를 serializer의 instance 인자에 넣음 serializer.data : 직렬화의 결과가 담겨있는 데이터(dict 자료형)Response(serializer.data) : Response 클래스에서 JSONRenderer().render(~) 메서드를 호출해서 ByteString으로 만들고 이를 client에게 응답함!WRITE 오퍼레이션 수행
request.data : client로부터 받은 데이터serializer = self.get_serializer(data=request.data) : client로부터 받은 데이터를 serializer의 data 인자에 넣음serializer.is_valid(raise_exception=True) : 유효성 검사를 필수적으로 수행!self.perform_create(serializer) : instance를 생성하고 DB에 저장하는 기능 수행⭐
-> serializer의 save 메서드를 호출
-> if self.instance is not None: ~ : self.instance가 있으면 update()메서드 호출else: ~ : self.instance가 없으면 create()메서드 호출
-> serializer = self.get_serializer(instance, data=request.data, partial=partial) : UpdateAPIView에서는 serializer를 호출할 때, instance 인자를 넣어주고 있음!⭕
-> serializer = self.get_serializer(data=request.data) : 반면 CreateAPIView에서는 serializer를 호출할 때, instance 인자를 넣어주고 있지 않음!❌
-> 이렇게 내부적으로 유효성 검사를 통과한 데이터(validated_data)로 instance를 생성하고 DB에 저장하고 있음!ModelClass._default_manager.create(**validated_dataComment.objects.create(**validated_data)https://www.inflearn.com/course/%EC%9E%A5%EA%B3%A0-drf/dashboard