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을 적용합니다.

results matching ""

    No results matching ""