본문 바로가기
개발일지/Django

Django - 동의어, 엔트리 삭제시 메모리값

by 다니엘의 개발 이야기 2022. 9. 30.
320x100

django는 파이썬과 약간 다른점들이 있었다.

 

#1 동의어

 

A와 B가 같냐라고 질문할때

파이썬은 A == B

로 통용되었지만

 

모든 django의 부분은 아닌것 같은데, 최소한에 python manage.py shell

을 통해서 python shell에 들어오고
filter등의 조건식을 입력할때 입력하는 부분에 있어서는

A = B가

A와 B가 같냐. 라는 의미였다.

A에 B를 부여해준다는 의미가 아니였다.

 

#2 메모리값 동등

 

마찬가지로 python manage.py shell

을 통해서 접속했을때

위의 동의어 부분과는 다르게

A = B라고 해주면 B는 A에 할당되었다.

 

하지만 실제 파이썬에서는 이렇게 부여해준것은 일종의 복사의 개념으로 사용될때가 있고

아닐때가 있었는데, (아주 명확히는 모르겠다)

보통의 경우에는 '복사'의 개념으로써 

A = B 라고 했을때

A와 B의 출력 값은 같아도, 메모리 값이 달랐기 때문에

A를 삭제하든 B를 삭제하든 어느 다른한쪽엔 영향이 없었던 것으로 기억한다.

 

하지만 여기서는 A = B라고 하고

A를

A.delete()

로 삭제하게 되면 B까지 삭제가 되는 메모리 공유현상을 보이는 것 같다.

300x250