본문 바로가기
관리자

Programming-[Backend]/Django

[TIL] 부모 Serializer field 값 제거

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 값들을 담고 있는다.

 

 

 

 

참조

 

https://stackoverflow.com/questions/15557257/how-to-remove-a-field-from-the-parent-form-in-a-subclass

 

 

728x90
반응형