[Django 공식문서 번역] Models - 1. 기본
이 글은 본인이 공부를 목적으로 공식문서를 읽으며 정리/번역한 글로서 오역이 있을 수 있을 수 있습니다. 또한 본인이 이미 알고 있거나 불필요하다 느끼는 내용들은 누락될 수 있습니다. Models 보통 각각의 model은 데이터베이스 테이블 하나와 매칭된다. 기본: - 모든 model은 python 클래스 django.db.models.Model 의 하위클래스이다. - model의 attribute은 데이터베이스의 field를 나타낸다 아래의 예시는 first_name, last_name이라는 field를 가지는 Person이라는 테이블을 정의한다. from django.db import models class Person ( models . Model ): first_name = models . CharField ( max_length = 30 ) last_name = models . CharField ( max_length = 30 ) 위의 코드는 아래의 SQL과 같다 CREATE TABLE myapp_person ( "id" serial NOT NULL PRIMARY KEY , "first_name" varchar ( 30 ) NOT NULL , "last_name" varchar ( 30 ) NOT NULL ); 알아두면 좋은점: - 보면 python에서는 Person이라고 정의를 하였지만 SQL에서는 myapp_person이라고 생성되는데, 이는 model metadata에 기반하여 자동 생성된 것이며 덮어씌워질 수 있다. - id 필드는 자동으로 생성되며 이 행동 또한 덮어씌워질 수 있다. model 사용하기 model을 변경하거나 추가하면 해당 model이 포함된 app을 INSTALLED_APPS에 추가해야된다. 이러한 경우 꼭 manage.py migrate