터칭 데이터

장고(Django) User 관리하기 본문

장고 (Django)

장고(Django) User 관리하기

터칭 데이터 2023. 11. 5. 02:11

 

 

 

모든 User를 JSON 형태로 조회하고 URL에 User id를 입력하면 그 id의 User가 그동안 작성한 question들을 조회할 수 있는 List 페이지와 Detail(상세) 페이지를 만들어보겠습니다.

 

 

 

polls_api/serializers.py

 

첫번째 PrimaryKeyRelatedField가 무엇인지 궁금하실 겁니다.

 

Django REST framework에서 PrimaryKeyRelatedField는 관계 필드 중 하나로, 주어진 모델에서 기본 키(primary key)와 관련된 객체를 나타내는데 사용됩니다. 여기서는 User의 기본키를 이용해 Question 모델에서 User에 기본키로 작성된 question들을 쿼리셋으로 가져오겠다는 뜻입니다. many는 현재 모델 기본키 하나에 여러개의 객체를 가져올 수 있을 때 True로 설정합니다.

 

 

 

 

 

 

 

polls_api/views.py

 

 

 

 

 

 

 

 

 

polls_api/urls.py

 

 

 

 

 

 

 

 

Serializer, views, urls 코드를 작성했으니 브라우저에서 확인해봅시다.

 

 

모든 User를 보여주는 User List가 정상 작동합니다.

 

 

 

 

 

URL에 User의 id를 덧붙이면

그 User가 그간 작성한 question들을 볼 수 있는 상세 페이지가 나옵니다.

 

 

 

 

그런데 기존의 유저들은 전부 admin 페이지에 접속할 수 있는 관리자들이고 작성한 질문 또한 없습니다. 우리는 일반 사용자를 만들어 question을 작성하고 이를 확인하고 싶은데 이는 다음 시간에 살펴보겠습니다.