본문 바로가기

notes

django generic view 사용시 method마다 다른 serializer사용하고 싶을 때

@마크다운


정말 간단한건데 1시간 동안 삽질했다.

억울해서 적어둠


제네릭 뷰를 까보면 함수에 `get_serializer_class` 가 있다.


설명을 읽어보면 요청에 따라 다른 시리얼라이저를 사용할 때 쓸 수 있다고 적혀있다.


이 함수를 쓰지 않는다면 기본값으로 serializer_class로 지정된 값을 사용한다고 되어있다.


제네릭뷰를 쓰고 있으니 함수를 오버라이드해서 사용하면 된다


```

def get_serializer_class(self):

    if self.request.method == "처리할 요청"

        return 사용할 시리얼라이저

    return 다른 요청들이 사용할 시리얼 라이저


```


정말 간단하다.