Models
3.2.1_01_quick example
Person이라는 이름의 모델(class)을 만들어 보겠습니다. 이 모델은 first_name과 last_name 이라는 속성(attribute)을 가지고 있습니다.
from django.db import models
class Person(models.Model)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
여기서 first_name과 last_name 은 모델의 '필드'에 해당합니다. 각각의 필드는 클래스의 속성으로 지정됩니다. 그리고 각각의 속성은 데이터베이스의 column에 연결됩니다.
위의 Person 이란 모델은 아래와 같은 데이터 베이스 테이블을 만듭니다.
CREATE TABLE myapp_person(
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
);
- 테이블의 이름은 myapp_person 과 같이 자동으로 생성됩니다. 언더바 앞쪽은 앱의 이름, 뒤쪽은 모델의 이름입니다. 모델의 메타데이터를 통해 자동으로 만들어지지만, 수정가능합니다. Table names 를 참고하세요.
- id 필드는 자동으로 만들어지며, 수정할 수 있습니다. (pk 필드를 따로 지정할 경우 id 필드는 자동으로 생성되지 않습니다.) Automatic primary key fields 를 참고하세요.
- 이 예제의 CREATE TABLE SQL은 PostgreSQL 구문을 사용하여 만들어졌습니다. 하지만 장고는 항상 PostgreSQUL을 사용하는 것이 아니라, 우리가 설정한 데이터베이스 백엔드에 따라 SQL을 적용합니다.