728x90
반응형
> python manage.py startapp 새로운APP이름
config/settings.py의 INSTALLED_APPS = [
새로운APP이름 추가,
]
: 새로운 APP을 사용할 것이라고 django에게 알려주는 것.
새로운 APP에 models.py 에 class 생성
from django.db import models // django가 가진 모듈 가져오기
class NEWModel(models.Model): //새로운 모델을 나타내는 Model 클래스 정의
name=models.CharField(max_length=30)
id=models.IntegerField(default=0)
>python manage.py runserver 를 바로하면 경고문구 확인 가능
You have 18 unapplied migration(s)......
그 이유는 Django에 내장되어 기본 기능들을 구현해놓은 app들의 동작을 위해 데이터베이스 테이블을 만들어주어야 한다.이 내용들이 migration이라는 단위로 미리 작성되어 있고, 이들을 적용시켜 데이터베이스에 테이블을 만들어주어야 Django가 가진 기본 기능들을 정상적으로 작동할 수 있다.
>python manage.py migrate
DB Brower for SQLite 설치(https://sqlitebrowser.org/)
- Windows:C:\Users\{사용자명}\PycharmProjects\{프로젝트이름}\db.sqlite3
- macOS:~/PycharmProjects/{프로젝트이름}/db.sqlite3
데이터베이스 열기 후, 테이블을 확인 할 수 있다.
아까 Model에 정의한 클래스가 데이터 베이스 테이블이 되려면
1. 마이그레이션 파일 생성(makemigrations)
2. 마이그레이션 파일을 데이터베이스에 적용
- >python manage.py makemigrations CLASS명
마이그레이션은 하나의 Model클래스가 아닌, app단위로 생성된다. - 0001_initial.py 라는 마이그레이션이 생성됨.
- >python manage.py migrate CLASS명
- SQLite browser로 돌아와 생성된 테이블을 확인해볼 수 있다.
728x90
반응형
'Django + Python' 카테고리의 다른 글
Django admin 사용 (0) | 2024.01.02 |
---|---|
데이터를 가져오는 과정 (0) | 2024.01.01 |
Django의 디자인 패턴 (0) | 2024.01.01 |
Django 개발환경 구성 (0) | 2024.01.01 |
isinstance 사용법 (0) | 2023.12.25 |