이제 데이터베이스에 들어갈 데이터 모델을 만들어보겠다. (models.py 참고)
[todo/models.py]
from django.db import models
class Todo(models.Model): # Todo Model 클래스는 django models 모듈의 Model 클래스를 상속
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True) # 만들 때 알아서 시간 기록
updated_at = models.DateTimeField(auto_now=True) # 수정할 때 알아서 시간 기록
is_done = models.BooleanField(default=False)
todo 앱의 모델 클래스를 만들었다.
이제 클라이언트가 제공한 정보(데이터)를 모델 Todo 클래스 틀에 담아서 데이터베이스로 보내주자.
> 데이터베이스로 넣어줄 것들을 담아준다.
데이터베이스 변경을 알려주는 명령어 [터미널에 입력] python manage.py makemigrations
- makemigrations 명령어를 실행하면 장고가 프로젝트 안의 각 앱 모델을 검사하고, 변경 사항이 있을 경우 해당 앱의 migrations 디렉토리에 migration파일을 생성한다.
- migration 작업은 모델 클래스의 변경 사항을 데이터베이스 스키마로 반영하는 절차이다. migration 파일에는 데이터베이스 스키마 변경에 대한 Python 명령문을 포함하고 있다. (스키마 참고)
> 변경 된 데이터베이스를 적용시키기
변경 된 데이터를 데이터베이스에 적용시키는 명령어 [터미널에 입력] python manage.py migrate
- migration 파일 생성 후 데이터베이스에 변경사항을 적용시키기 위해 migrate 명령어를 실행한다.
DB를 보면 생성된 앱이 추가된 것을 볼 수 있다.
여기까지 앱 데이터를 데이터베이스에 저장하는 과정이었다. 이제 데이터베이스에 저장된 내용을 쉽게 확인하고 관리할 수 있도록 admin 관리자 페이지에서 다뤄보겠다.