inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편

pk필드에 대해서

259

paichai17

작성한 질문수 6

0

안녕하세요, 대전에서 아주 잘 듣고 있는 수강생입니다 ㅎ

 

템플릿에서 db에 뭔가 요청을 할 때

{% url '주소' id %}

 

이런식으로 요청하면 url에서

'주소'/<int:pk>로 넘어가서

 

view에서

def 주소(request, pk):

a = get_object_or_404(Product, pk=pk)

이런식으로 조회를 하잖아요?

 

근데 우리가 모델에서 pk라는 필드를 정의한 적이 없는데 get object or 404 함수는 어떻게 pk인자를 받아서 id인자를 알아서 찾아오나요?

 

혹시나해서 모델에서 기본적으로 id 필드말고 pk 필드가 있는 지 봤는데 그런 것 같진 않더군요.

 

primary key가 되는 필드를 알아서 매핑하는건가요? 아니면 제가 모르는 장고의 동작이 별도로 있나요?

python django

답변 1

0

이진석

안녕하세요.

예상하신 대로 장고 모델에서 pk는 실제 필드가 아니며, 기본키 필드를 가리키는 alias 입니다.

기본키 필드는 변경되더라도, pk를 통해 항상 기존키를 참조할 수 있기에, CBV에서도 내부 구현에 pk= 로 조회토록 기본 구현되어있습니다.

화이팅입니다. ;-)

 

0

paichai17

아!! alias였군요 ㅠㅠ 장고가 참 편리하지면서도 코드상에 드러나지 않은 부분들이 많아서 알아야할 것도 많네요.

(질문)KG이니시스 팝업차단 문제 발생(강의 13. 자바스크립트만으로 포트원 결제 구현하기, 7분18초)

1

171

2

로그아웃 405 에러

0

173

1

웹훅 사용과 관련하여 질문 드립니다.

0

247

2

cancel에 대해 질문을 드립니다.

0

148

2

m_redirect_url에 대해 문의 드립니다.

0

153

1

cancle에 대해 문의 드립니다.

0

297

3

db_constraint=False 에 대해 질문 드립니다.

0

170

2

pip 설치시 에러가 발생합니다.

0

501

2

주문 로직

0

372

3

결제 기능을 비동기적으로 처리할 필요는 없나요..?

0

415

3

배포환경과 개발환경 패키지 관리, 도커환경 디버깅 팁이 있을까요?

0

293

4

8강 주문 모델 설계에서 따로 ManyToMany 관계를 위한 모델을 선언해준 이유?

0

139

2

product model에서 category는 FK로 주셨는데, status는 왜 chocies로 주신 이유?

0

98

2

선생님 from iamport import Iamport 에서 에러가 생깁니다.

0

155

2

db_index=True로 설정하는 이유

0

143

2

안녕하세요 파이참 폼링크 제출했습니다

0

111

1

포트원 UI가 바뀌면서 포트원 404에러가 발생합니다.

0

602

5

djlint 편집시 무한 동작

0

132

1

결제 실패

0

232

1

환불을 구현 하려면 어떤식으로 해야 되나여?

0

503

1

next js 에서 결제 구현할때 에러 발생하는데 디버깅 팁 주실수 있나요?

0

315

1

사용자가 진행을 중단하였습니다.

0

355

3

결제창 출력이 되지 않습니다.

0

867

2

결제 중간 이탈

0

332

2