Django Framework - Database

이제일·2020년 12월 27일
0

Django

목록 보기
3/15
post-thumbnail

DataBase (SQLite)

django에서 데이터베이스를 다루는 방법

데이터 베이스 설정 ( 프로젝트명/settings.py )

DEBUG : true로 설정할 경우 보안 이슈가 증가한다( 배포시 false 설정 ). 또한 static 파일들과 media 파일들의 제공 방식이 달라지므로 웹 서버에게 디렉토리를 연결 해야함
TIME_ZONE : DB의 시간 설정
INSTALLED_APPS : django 인스턴스에서 활성화된 앱들의 이름을 담는 곳, 앱들은 다수의 프로젝트에서 사용될 수 있고 다른 프로젝트에서 쉽게 사용될 수 있도록 패키징하여 배포할 수 있습니다.
아래는 일반적인 경우에 사용하기 편하도록 기본 제공되는 앱들

django.contrib.admin – 관리용 사이트.
django.contrib.auth – 인증 시스템.
django.contrib.contenttypes – 컨텐츠 타입을 위한 프레임워크.
django.contrib.sessions – 세션 프레임워크.
django.contrib.messages – 메세징 프레임워크.
django.contrib.staticfiles – 정적 파일을 관리하는 프레임워크.

migrate명령

해당 커멘드는 INSTALLED_APPS설정을 확인하고 프로젝트명/settings.py파일의 데이터베이스 설정 및 앱과 함께 제공된 데이터베이스 마이그레이션 에 따라 필요한 데이터베이스 테이블을 만듭니다. 적용되는 각 마이그레이션에 대한 메시지가 표시됩니다.

model

먼저 모델이란 부가적인 메타데이터를 가진 데이터베이스의 구조를 말합니다( 여기선 Table과 유사함 ). 또한 Django 는 DRY 원칙에 따라 데이터 모델을 한곳에서 정의하고, 이것으로부터 자동으로 뭔가를 유도하는 것이 목표입니다.

앱/models.py

class명은 테이블 명, 변수 대입 부분은 필드명,자료형 및 제약조건 설정과 같은 맥락

자료형 및 제약조건 관련 공식 문서

자동 옵션

PK를 설정하지 않을 경우 id라는 Primary Key가 자동으로 테이블에 추가됨
id = models.AutoField(primary_key=True)

table명은 내부적으로 App명_모델명(소문자)로 저장됨

profile
세상 제일 이제일

0개의 댓글