[Django] Model & Migrations
Model
웹 애플리케이션의 데이터를 구조화 하고 조작 하기 위한 도구
- 보통 데이터베이스에 데이터를 저장하고 조회하기 위해서 SQL 쿼리문을 이용해야 하지만 장고의 모델(Model)을 사용하면 이런 SQL 쿼리문의 도움없이 데이터 처리가 가능하다.
- 저장된 데이터베이스의 구조를 나타내며 단일 데이터에 대한 정보를 가진다
- 사용자가 저장하는 데이터들의 필수적인 필드들과 동작을 포함
- 일반적으로 각 model은 하나의 데이터베이스 테이블에 mapping 된다
models.py 작성
DB column(ex. title, content)과 어떠한 타입으로 정의할 것인지에 대해 django.db 모듈의 models 상속
- 각 모델은 django.db.models.Model 클래스의 서브 클래스로 표현
- 각 필드는 클래스 속성으로 지정되며, 각 속성은 데이터베이스의 column에 mapping
model 사용하기
- 데이터 조회
- Article.objects.all()
: QuerySet 객체가 리턴
- Article.obejcts.get(id=1)
: QuertSet이 아닌 Article 모델 객체가 리턴
Migrations
django가 model에 생긴 변화를 반영하는 방법
- 데이터베이스가 필요한 앱만 migration이 필요하다.
-
makemigrations
: DB에 변경이 필요한 사항을 추출
- model 변경 후 새로운 마이그레이션을 만들 때 사용
- model 변경 후 반드시 해 주어야 한다
-
migrate
- 만들어진 마이그레이션을 DB에 반영하기 위해 사용
- model에서 변경 사항과 DB의 스키마가 동기화를 이룸
# 1. model 변경
models.py
# 2. migratios 파일 생성
$ python manage.py makemigrations
# 3. DB 반영(model과 DB 동기화)
$ python manage.py migrate
ORM
DB 를 객체(object)로 조작하기 위해 ORM을 사용
- Object-Relational-Mapping
- 객체 지향 프로그래밍 언어를 사용, 호환되지 않는 유형의 시스템 간에(Django ~ SQL) 데이터를 변환하는 프로그래밍 기술
- Django는 내장 Django ORM을 사용
Author And Source
이 문제에 관하여([Django] Model & Migrations), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ruwan9/Django-Model-Migrations
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
웹 애플리케이션의 데이터를 구조화 하고 조작 하기 위한 도구
DB column(ex. title, content)과 어떠한 타입으로 정의할 것인지에 대해 django.db 모듈의 models 상속
- Article.objects.all()
: QuerySet 객체가 리턴
- Article.obejcts.get(id=1)
: QuertSet이 아닌 Article 모델 객체가 리턴
django가 model에 생긴 변화를 반영하는 방법
- 데이터베이스가 필요한 앱만 migration이 필요하다.
-
makemigrations
: DB에 변경이 필요한 사항을 추출- model 변경 후 새로운 마이그레이션을 만들 때 사용
- model 변경 후 반드시 해 주어야 한다
-
migrate
- 만들어진 마이그레이션을 DB에 반영하기 위해 사용
- model에서 변경 사항과 DB의 스키마가 동기화를 이룸
# 1. model 변경
models.py
# 2. migratios 파일 생성
$ python manage.py makemigrations
# 3. DB 반영(model과 DB 동기화)
$ python manage.py migrate
ORM
DB 를 객체(object)로 조작하기 위해 ORM을 사용
- Object-Relational-Mapping
- 객체 지향 프로그래밍 언어를 사용, 호환되지 않는 유형의 시스템 간에(Django ~ SQL) 데이터를 변환하는 프로그래밍 기술
- Django는 내장 Django ORM을 사용
Author And Source
이 문제에 관하여([Django] Model & Migrations), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ruwan9/Django-Model-Migrations
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
DB 를 객체(object)로 조작하기 위해 ORM을 사용
Author And Source
이 문제에 관하여([Django] Model & Migrations), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ruwan9/Django-Model-Migrations저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)