개발/Django

Pythonweb/Django - 설문조사 서비스 만들기 / 2

잇(IT) 2022. 4. 12. 23:34
728x90

- 데이터베이스 만들기

 

- django.db.backends.sqlite3, django.db.backends.postgresql, django.db.backends.mysql, django.db.backends.oracle 이렇게 4가지 사용할 수 있다.

 

- 데이터베이스를 만들고 초기화 한다.


- 모델 만들기

 

장고에서 모델은 데이터베이스의 구조도이다. 데이터베이스에 어떤 테이블을 만들고 어떤 컬럼을 갖게 할 것인지 결정한다. 또 해당 컬럼의 제약 조건까지도 모델에서 결정한다. 이 모델은 보통 models.py에 작성하고 클래스 형태다.

 

두개의 모델을 만들 것 이다.

 

- 장고의 모델은 [models.Model]을 상속 받는다. 이 부모 클래스가 실제로 데이터베이스와 ORM을 이용해 동작하는 기능들을 가지고 있다.

CharField는 문자열 타입, DateTimeField는 날짜와 시간 형태다. 다른 설정을 하지 않으면 각 변수명이 실제 데이터베이스와 장고가 사용하는 변수명이다. 

ForeignKey는 다른 모델과의 관계를 만들기 위해서 사용한다.

Choice 모델이 ForeignKey로 Question 모델을 갖는다는 것은 Choice 모델이 Question에 소속된다는 것을 의미한다.

 

 

- polls.apps.PollsConfig는 polls 앱 폴더에 apps.py 파일에 있는 PollsConfig 클래스를 의미한다. ​

 

- 명령을 실행하면 앱의 변경사항을 추적해 데이터베이스에 적용할 내용을 만들어 낸다.​

 

- 그 결과 해당 파일에 기록된다.

 

- 여러줄의 SQL 구문이 나타나는데 이것을 보고 어떤 SQL을 실행할지 또는 문제가 있는 쿼리는 아닐지 판단한다.

 

- 위의 명령어까지 작성해주어야 데이터베이스에 테이블을 생성하고 초기화 할 수 있다.


- 모델에 함수 추가하기

 


- 관리자 페이지 확인하기

 


- 다음과 같이 관리자 페이지를 둘러보았고 admin.py에 코드를 작성하여 관리자 페이지에 항목을 추가 할 수 있는 것을 보았다.

728x90