728x90
반응형
부모의 field값을 제거하기
기존 View가 ParentSerializer을 사용해서 응답 필드값들을 내보내고 있었는데, 기존과 다르게 재사용하다보니 unnecessary_id=null로 불필요하게 클라이언트에게 전달되는 상황.
해당 ParentSerializer를 ChildSerializer로 한 번 더 감싸고, __init__ 메서드에서 self.fields로 unnecessary_id 값을 제거함
class ChildSerializer(
ParentSerializer
):
def __init__(self, *args, **kwargs):
"""
pop unnecessary_id
"""
super(ChildSerializer, self).__init__(
*args, **kwargs
)
self.fields.pop("unnecessary_id")
Serializer는 self.fields에 사용자가 정의한 field 값들을 담고 있는다.
참조
728x90
반응형
'Programming-[Backend] > Django' 카테고리의 다른 글
[TIL] django.conf settings, 환경 설정 정보 상대 참조하기 (0) | 2022.11.02 |
---|---|
[TIL] Django ORM values, annotate, Subquery, OuterRef, JSONField, Type Cast 부분 적용 (2) | 2022.09.30 |
[TIL] Django created_by, modified_by 적용하기 : django crum, settings.AUTH_USER_MODEL 등 (0) | 2022.09.28 |
[TIL] Django ModelSerializer의 field, validate()의 data (0) | 2022.09.21 |
[TIL] 파이썬 리턴타입 힌트로 속성 탐색, unittest.mock의 @patch (0) | 2022.09.14 |