Django의 Model Field

Andromeda_Galaxy·2024년 5월 19일

Django

목록 보기
5/12

Model 만들기

from django.db import models

class <model name>(models.Model):
	<variable name> = models.<model field>

Model Field

  • Django Model은 대부분의 데이터를 저장할 수 있는 필드(Field)를 지원

필드(Field)

  • 필드(Field)는 데이터 테이블에서의 열(column), 즉 데이터의 속성을 의미

CharField

  • class CharField(max_length=None)
  • 제한된 길이의 문자열을 위한 필드
    • max_length 필수 인수이며 입력할 최대 길이를 설정

IntegerField

  • class IntegerField()
  • 정수 값을 위한 필드이며 -2147483648 부터 2147483647 범위를 지원

BooleanField

  • class BooleanField()
  • Boolean 값을 위한 필드

DateField

  • class DateField(auto_now=False, auto_now_add=False)
  • DateField는 파이썬의 datetime.date 객체 형태로 표시되는 날짜 필드
    • auto_now
      • true로 설정되면 해당 객체가 변경(save) 될 때마다 자동으로 필드 값을 지금으로 수정
    • auto_now_add
      • 모델이 처음 생성될 때 한 번, 자동으로 필드 값을 지금으로 설정
      • '생성된 시간'을 저장하기 위해 많이 사용

DateTimeField

  • class DateTimeField(auto_now=False, auto_now_add=False)
  • 파이썬의 datetime.datetime 객체 형태로 표시되는 날짜 필드
  • DateField와 인수 옵션은 같음

EmailField

FileField

ImageField

  • class ImageField(upload_to=None, height_field=None, width_field=None, max_length=100)
  • FileField를 상속하여 구현되는 파일 업로드를 위한 필드이며 기본적으로 최대 길이가 100인 문자열 형식으로 생성
  • FileField에서 업로드된 파일이 정상적인 이미지 파일인지 확인하는 과정이 추가된 필드로 이미지 처리를 위한 Pillow 라이브러리가 필수적으로 필요
    • height_field & width_field 객체가 저장 될 때 이미지의 높이와 너비값이 자동으로 채워짐

옵션(Option)

  • 옵션은 모든 필드 타입에 사용할 수 있으며 선택적으로 적용할 수 있음

null

  • Field.null
  • 기본 값은 False이며 Null 값 허용 여부를 선택

blank

  • Field.blank
  • 기본 값은 False이며 True로 설정한 경우 필드 값을 빈 값으로 설정할 수 있음

default

  • Field.default
  • 필드의 기본값을 설정하는 옵션으로 값 또는 함수가 들어갈 수 있음

db_column

  • Field.db_column
  • 해당 필드에 사용할 데이터베이스 속성 명을 지정

공식문서

profile
안녕하세요.

0개의 댓글