-
Prj1/settings.py 파일
기본적으로는 SQLite을 사용하도록 구성되어 있다. SQLite 를 데이터베이스로 사용하지 않는 경우, USER, PASSWORD, HOST 같은 추가 설정이 반드시 필요하다.
INSTALLED_APPS
현재 Django 인스턴스에서 활성화된 모든 Django 어플리케이션들의 이름이 담겨 있다.
django.contrib.admin: 관리용 사이트.
django.contrib.auth: 인증 시스템.
django.contrib.contenttypes: 컨텐츠 타입을 위한 프레임워크.
django.contrib.sessions: 세션 프레임워크.
django.contrib.messages: 메세징 프레임워크.
django.contrib.staticfiles: 정적 파일을 관리하는 프레임워크.적용하는 명령문
C:\Prj1> py manage.py migrate
migrate를 실행하기 전에 INSTALLED_APPS에서 제거할 어플리케이션들을 그냥 주석처리(comment-out) 하거나 삭제하면된다.
모델 만들기
모델이란 부가적인 메타데이터를 가진 데이터베이스의 구조(layout)를 말한다. 사용할 데이터의 필수적인 필드들과 동작들을 포함하고 있다.
App1/models.py
from django.db import models class ModelTest1(models.Model): text1 = models.CharField(max_length=200) date1 = models.DateTimeField('date published') class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
App1/apps.py에 'App1Config'가 있고 이것을 INSTALLED_APPS에 추가해야 한다.
INSTALLED_APPS = [ 'App1.apps.App1Config', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
C:\Prj1> py manage.py makemigrations App1 Migrations for 'App1': App1\migrations\0001_initial.py - Create model ModelTest1
C:\Prj1> py manage.py sqlmigrate App1 0001 BEGIN; -- -- Create model Question -- CREATE TABLE "app1_question" ( "id" serial NOT NULL PRIMARY KEY, "question_text" varchar(200) NOT NULL, .... ....
sqlmigrate 명령은 migration 이름을 인수로 받아, 실행하는 SQL 문장을 보여준다.
python manage.py check 명령을 통해 마이그레이션을 수행하거나 데이터베이스를 건드리지 않고도 프로젝트의 문제를 확인할 수 있습니다.
migrate 를 실행시켜 데이터베이스에 모델과 관련된 테이블을 생성해볼 수 있다.
C:\Prj1> py manage.py migrate
모델의 변경을 만드는 3단계 재정리.
1. (models.py 에서) 모델을 변경한다.
2. python manage. py makemigrations을 통해 이 변경사항에 대한 마이그레이션을 만든다.
3. python manage. py migrate 명령을 통해 변경사항을 데이터베이스에 적용한다.
마이그레이션을 만드는 명령과 적용하는 명령이 분리된 것은 버전 관리 시스템에 마이그레이션을 커밋하고 앱과 함께 출시할 수 있도록 하기 위해서이다.다음단계
2020/08/18 - Django - Db Table 읽고 쓰기
'Django' 카테고리의 다른 글
Django - 관리자 계정 만들기 (admin) (0) 2020.08.18 Django - Db Table 읽고 쓰기 (0) 2020.08.18 Django - App 개요 (0) 2020.08.18 Django LTS version (0) 2020.08.18 Django - App 예제 (0) 2020.06.11 Django - 프로젝트(Project) 생성 (0) 2020.06.11 Django 설치 (0) 2020.06.11 Django 개요 (0) 2020.06.11