본문 바로가기
Study/Django

[Django] Model Field

by ngool 2024. 9. 20.

본 포스트는 Django에서의 Model Field에 대해 정리한 것입니다.

 

Model Field란 DB 테이블의 필드(열)을 정의하며, 해당 필드에 저장되는 데이터 타입과 제약 조건을 정의하는 요소입니다.

더 자세히 알아보도록 하죠!


Model Field 구성

  1. Field types (필드 유형) : 데이터베이스에 저장될 "데이터의 종류"를 정의
  2. Field options (필드 옵션) : 필드의 "동작"과 "제약 조건"을 정의

Field types

빨간 박스에 있는 코드가 필드 타입 부분

 

주요 필드 유형은 다음과 같습니다.

  • 문자열 필드 (CharField, TextField)
  • 숫자 필드 (IntegerField, FloatField)
  • 날짜/시간 필드 (DataField, TimeField, DatetTimeField)
  • 파일 관련 필드 (FileField, ImageField)

이 외에도 정말 많은 필드 유형이 있는데, 자세한 것은 아래 공식 문서에서 찾아보실 수 있습니다.

https://docs.djangoproject.com/en/5.1/ref/models/fields/#field-types

 

Model field reference | Django documentation

The web framework for perfectionists with deadlines.

docs.djangoproject.com


Field options

빨간 박스에 있는 코드가 필드 옵션 부분

주요 필드 옵션은 다음과 같습니다.

  • null : 데이터베이스에서 NULL 값을 허용할지 여부를 결정 (기본값 : False)
  • blank : form에서 빈 값을 허용할지 여부를 결정 (기본값 : False)
  • default : 필드의 기본값을 설정