2022/11/18 프로젝트 다른 팀원 코드 복기(회원정보 수정 코드)

노우석·2022년 11월 21일
0

저번 프로젝트 코드를 복기하던 중 궁금한 점이 생겼다.

우선 코드를 살펴보자

위에 코드가 회원정보를 수정하는 코드이다. 여기서

궁금한 점이 생긴 코드가 바로 아래 코드인데

이 부분 기능을 drf 방식으론 구현을 안해봐서 조금 이해하기 위해 검색해서 알아보았다.

우선 user, data =request.data 부분은 기본적인 drf 형태이니 크게 문제는 없었는데 뒤에오는 partial=True나 context={"request": request}) 부분은 이해가 조금 어려웠다.

해결

context = {"request":request} 코드

context = {"request":request} 부분은 회원정보를 수정하기 위해서는 put 과정을 통해서 오버라이딩 즉 새로운 정보로 기존 정보를 덮어씌우는 게 필요하고 이를 위해 기존 request정보와 새로운 request정보를 오버라이딩 하기위해 사용한 코드인걸로 이해했다.

결론은 request정보를 오버라이딩 하기위해 사용한 코드

partial=True

partial=True 이 코드는 구글링을 해보니 이 코드가 없을경우 업데이트 과정에서 모든 필드를 수정해주어여만 수정이 되고 부분적인 필드를 수정하기 위해서 put메소드를 오버라이딩해서 수정하면 다른 필드값을 넣지 않았다며 오류가 생긴다. 이를 방지하고 부분적인 수정을 가능하게 하기위해 django에서 제공하는 Partial Update 기능을 이용해서 사용한 코드가 바로 partial=True 이다

결론은 부분적인 수정을 위해서 필요한 장고 기능 코드이다.

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

0개의 댓글