TIL 9주 3일차

노우석·2022년 11월 3일
0

drf serializer 다른 모델에 있는 필드값으로 변경하는 방법

문제원인

기존에 serializers.SerializerMethodField()를 이용해서 다른 앱에 있는 모델 필드값을 변경하려고 했는데 다른 모델에 있는 필드값을 가져오려니 SerializerMethodField()만으로는 불가능했다 따라서 어떻게 해결할지 찾아보았다.

문제해결

우선 다른 serializer를 만들어주고 내가 가져오고 싶은 모델에 필드값을 지정해준다.

ex)

이렇게 만든 ArticleListNickname 시리얼라이저를 이제 기존에 serializer안에 변경할 필드값에 상속시켜준다.

이렇게 상속시켜주면 response값에 필드값이 제대로 변경된다.

다만 serializer안에 serializer를 쓰는 방식이 좋은 방식 같지는 않다.

다른 방법도 알아봐야할 것 같다.

profile
중요한건 버그에게 꺾이지 않는 마음

0개의 댓글