오늘은 Django가 제공하는 필드 종류를 정리해보려고 한다.
🔗 django docs 문서를 참고하여 자주 쓸 것 같은 부분만! 😙
AutoFieldclass AutoField(**options)
ID로 사용 가능한, 자동으로 증가하는
IntegerField
BooleanFieldclass Boolean(**options)
논리 필드.
true/false필드
CheckboxInput이며,null 값을 허용하고 싶다면 NullBooleanSelect을 사용하자.Field.default가 정의되지 않은 경우, BooleanField의 기본값은 None이다. CharFieldclass CharField(max_length=None, **options)
작은 문자열에서 큰 사이즈의 문자열을 위한 문자열 필드
TextField를 사용하자!TextInput이다.arguments ]max_length: 필수값. 필드의 최대 길이(문자 수)db_collation: 선택값. 필드의 데이터베이스 데이터 정렬 이름DateFieldclass DateField(auto_now=False, auto_now_add=False, **options)
Python의
datetime.date인스턴스로 표시되는 날짜
arguments ]DateField.auto_nowModel.save()가 호출될 때 자동으로 업데이트된다.QuerySet.update()와 같은 다른 방법으로 다른 필드를 수정할 때는 업데이트되지 않는다.DateField.auto_now_addauto_now_add, auto_now, default는 상호배타적이다. 즉, 같이 사용할 수 없다!
DateTimeFieldclass DateTimeField(auto_now=False, auto_now_add=False, **options)
Python의
datetime.datetime인스턴스로 표시되는 날짜와 시간
DateField와 동일한 추가 인수를 가지고 있다.DateTimeInputEmailFieldclass EmailField(max_length=254, **options)
EmailValidator를 이용해서 유효한 이메일인지 체크하는CharField
ImageFieldclass ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options)
FileField로부터 모든 속성과 메서드를 상속받지만,
업로드된 객체가 유효한 이미지인지도 검증한다.
FileField에서 사용 가능한 특별한 속성들 외에도, height, width 속성을 갖는다.Pillow 라이브러리를 요구한다.ImageField 인스턴스는 기본 최대 길이가 100자인 varchar 컬럼으로 데이터베이스에 생성된다. 다른 필드와 마찬가지로 max_length 인수를 사용해서 최대 길이를 변경할 수 있다.arguments ]ImageField.height_fieldImageField.width_fieldIntegerFieldclass IntegerField(**options)
정수
-2147483648 ~ 2147483647 범위 내에 있는 값은 안전하다.TextFieldclass TextField(**options)
큰 텍스트 필드
Textarea이다.max_length 속성을 지정하면, 자동으로 생성된 폼 필드의 Textarea 위젯에 반영된다. CharField를 사용하기!TimeFieldclass TimeField(auto_now=False, auto_now_add=False, **options)
Python의
datetime.time인스턴스로 표시되는 시간
DateField와 동일한 자동 채우기 옵션을 허용한다.URLFieldclass URLField(max_length=200, **options)
URL을 위한
CharField
URLValidator에 의해 검증된다.CharField의 하위 클래스와 마찬가지로, max_length 인수를 사용한다.
정말 유익한 게시물이에요!