Using models (모델 사용하기)
앱 등록하기
모델을 정의 한 후에 우리는, Django 에게 이 모델을 사용할것이라고 얘기해주어야 합니다.
Django 에게 이 모델을 사용할것이라고 알려주기 위해서는,
settings.py 에 있는 INSTALLED_APPS 에 해당 모듈명을 추가해 주어야 합니다
예를들어, python manage.py startapp usemodel
명령어를 통해, usemodel 이라는 앱을 생성하였다고 가정하면, settings.py 파일에 INSTALLED_APPS 안에, 생성된 모델이 아래와 같이 등록 되어 있어야 합니다.
1 | INSTALLED_APPS = [ |
makemigrations
INSTALLED_APPS 에 새로운 앱을 추가해 주고, 해당 앱에 대한 모델을 작성해 주었으면,
데이터베이스에 적용을 해주어야 합니다. 하지만, 적용전에 python manage.py makemigrations
명령어를 통해서, 데이터베이스 적용 전에 migrations 파일을 만들어 줍니다.
1 | python manage.py makemigrations |
해당 앱의 모델을 아직 작성하지 않아도, 위의 makemigrations 명령어는 정상으로 실행됩니다.
왜냐하면, 새로운 모델이 생성되었기 때문입니다.
이렇게 앱과 모델을 등록한다음에는, 앱의 모델을 변경할때마다,
makemigrations 와 migrate 명령어를 실행하여, 데이터베이스에 변경사항을 적용 해주어야 합니다.
migrate
makemigrations 명령어를 실행 시켜 주었으면, migrate
명령어를 통해서, 데이터 베이스에 실제 적용을 합니다.
1 | python manage.py migrate |
모델을 사용하는 순서
- 앱생성
- 앱을 settings.py 에 등록
python manage.py makemigrations
python manage.py migrate