DRF QuerySet 처리 흐름과 FilterSet 동작 원리 분석

서론 Django REST Framework를 사용하면서 filterset_class를 설정하고 필터링을 적용하는 건 매우 흔한 일이다. 필터셋을 통해 URL 파라미터만으로 복잡한 조건 필터링을 쉽게 구현할 수 있고, django-filter 라이브러리를 활용하면 필드 단위, 메서드 단위로 커스텀 필터도 자유롭게 정의할 수 있다. 필자 또한 filterset_class에 커스텀 메서드를 정의하여 필터링을 적용했다. 하지만 API 성능을…

DRF Serializer 검증 흐름과 to_internal_value 동작 원리 분석

서론 DRF(Django REST Framework)를 사용하여 개발을 할 때, 시리얼라이저를 커스텀하는 것은 빈번한 일이다. 나 또한 마찬가지로 개발을 진행하던 중 DRF 시리얼라이저를 커스텀하였는데, 예상과 다른 동작이 일어났다. 입력값은 엑셀 파일에서 단일 행으로 제공되고, 이를 여러 모델로 정규화하여 나누는 과정에서 문제가 발생하였다. 보다 구체적으로 설명하면, A 시리얼라이저는 B, C, D,…