Django ORM : “회원탈퇴-로그아웃” 과 "DB에서 model instance 삭제-속성"의 유사성
2024. 4. 16. 04:06ㆍ코딩 교훈 기록
Django Authenticationsystem 에서 탈퇴와 함께 기존 사용자의 Session Data 를 삭제할 때, 반드시 회원 탈퇴 이후 로그아웃을 진행해야 한다.
먼저 로그아웃을 진행하면 해당 요청을 한 사용자 객체 정보가 메모리에서 없어지기 때문에 탈퇴에 필요한 유저 정보가 없어지기 때문이다.
RESTAPI 에서 어떤 모델의 인스턴스를 instance.delete() 를 통해 DB에서 삭제해도 instance.title / instance.content 등의 값은 당장은 유지가 된다. 그래서 view 함수에서 삭제 이후 바로 해당 속성을 호출하면 값이 나온다. DB에서 삭제되어도 메모리에 해당 객체 정보가 남아있기 때문이다.
그런데 pk 값은 곧바로 없어지는데, 이는 DB에서 해당 객체를 유효하지 않은 것으로 판단하게 되면서 바로 pk를 None 처리 하기 때문이다.
삭제와 별개로 메모리에 객체 정보가 남아있을 수 있다는 점에서 두 매커니즘 사이에 유사성이 있다.
'코딩 교훈 기록' 카테고리의 다른 글
JavaScript : 배열 object 의 마지막 요소를 가져오는 방법 (0) | 2024.04.22 |
---|---|
JavaScript : object 의 key-value 값을 가져오는 2가지 방법 (0) | 2024.04.22 |
Sort 정렬 시 주의 사항 (0) | 2024.04.10 |
Django : view 함수에서 Form, ModelForm 클래스의 인자 순서 차이 (0) | 2024.03.30 |
Django : form 태그가 포함하는 submit / action 의 비밀 (0) | 2024.03.29 |