save() 흐름
self.instance
체크allow_notification
을 통해서 None
일 경우 로그 생성
None
일 때만 로그를 생성하는 거지?Serializer 생성 동작
ModelSerializer → Serializer → BaseSerializer
Rebuild Index(2021.12.20~2021.12.21) 참고
ActivityPikLog
에 기록된 내용을 살펴보면 위와 같이 create
에 대한 액션만 기록이 되고 있는 모습이다. pik이 바뀌었을 상화에서 추가적으 재색인을 하기 위해서는 edit, delete와 같은 상황에서 색인이 이루어져야 한다.
기존의 해결 방법은 request.method == 'POST'
의 조건문으로 해결을 시도하였다. 이와 같은 방법은 PUT
이나 PATCH
와 같은 방식에서 로그가 쌓이지 않기 때문에 수정에 대한 재색인이 정상적으로 작동할 수 없다. → 기본적으로 pikurate의 삭제 및 수정과 같은 unsafe method에 대한 처리 방식은 soft delete 방식을 취하고 있기 때문에 save()
함수에 대해서 조건문을 풀고 모든 로그를 받기로 결정
오보딩 픽이 만들어질 때는 로그가 쌓이는 것을 원치 않을 수 있다. 온보딩 픽이 만들어지는 과정은 단순히 Pik.objects.create()
를 이용해서 만들고 있기 때문에, serializer
에서 발생하는 로그에 대한 내용을 신경쓰지 않아도 된다.