오늘은 Django가 제공하는 필드 종류를 정리해보려고 한다.
🔗 django docs 문서를 참고하여 자주 쓸 것 같은 부분만! 😙
AutoField
class AutoField(**options)
ID로 사용 가능한, 자동으로 증가하는
IntegerField
BooleanField
class Boolean(**options)
논리 필드.
true/false
필드
CheckboxInput
이며,null
값을 허용하고 싶다면 NullBooleanSelect
을 사용하자.Field.default
가 정의되지 않은 경우, BooleanField
의 기본값은 None
이다. CharField
class CharField(max_length=None, **options)
작은 문자열에서 큰 사이즈의 문자열을 위한 문자열 필드
TextField
를 사용하자!TextInput
이다.arguments
]max_length
: 필수값. 필드의 최대 길이(문자 수)db_collation
: 선택값. 필드의 데이터베이스 데이터 정렬 이름DateField
class DateField(auto_now=False, auto_now_add=False, **options)
Python의
datetime.date
인스턴스로 표시되는 날짜
arguments
]DateField.auto_now
Model.save()
가 호출될 때 자동으로 업데이트된다.QuerySet.update()
와 같은 다른 방법으로 다른 필드를 수정할 때는 업데이트되지 않는다.DateField.auto_now_add
auto_now_add
, auto_now
, default
는 상호배타적이다. 즉, 같이 사용할 수 없다!
DateTimeField
class DateTimeField(auto_now=False, auto_now_add=False, **options)
Python의
datetime.datetime
인스턴스로 표시되는 날짜와 시간
DateField
와 동일한 추가 인수를 가지고 있다.DateTimeInput
EmailField
class EmailField(max_length=254, **options)
EmailValidator
를 이용해서 유효한 이메일인지 체크하는CharField
ImageField
class 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_field
ImageField.width_field
IntegerField
class IntegerField(**options)
정수
-2147483648
~ 2147483647
범위 내에 있는 값은 안전하다.TextField
class TextField(**options)
큰 텍스트 필드
Textarea
이다.max_length
속성을 지정하면, 자동으로 생성된 폼 필드의 Textarea
위젯에 반영된다. CharField
를 사용하기!TimeField
class TimeField(auto_now=False, auto_now_add=False, **options)
Python의
datetime.time
인스턴스로 표시되는 시간
DateField
와 동일한 자동 채우기 옵션을 허용한다.URLField
class URLField(max_length=200, **options)
URL을 위한
CharField
URLValidator
에 의해 검증된다.CharField
의 하위 클래스와 마찬가지로, max_length
인수를 사용한다.
정말 유익한 게시물이에요!