[Django] Field types

^_^·2022년 7월 3일
0

Django

목록 보기
3/4
post-thumbnail

장고 실습중에 사용한 필드타입을 정리해 보았다. 이후 새롭게 사용하는 필드들을 추가할 예정이다.

AutoField

기본필드로 다른 키지정 필드를 지정하지 않으면 따로 지정하지 않아도 기본값으로 지정된다.

BigAutoField

1에서 9223372036854775807 사이 의 숫자에 맞도록 보장된다는 점을 제외하면 AutoField와 매우 유사한 64비트 정수필드다.

BigintegerField

BigAutoField와 비슷하지만 음수까지 해당된다.

DecimalField

소숫점을 갖는 데이터 필드로 소수점 앞자리와 뒷자리를 몇번째 까지 표현할지 정해 사용한다.

DecimalField.max_digits
숫자에 허용되는 최대 자릿수. 이 숫자는 decimal_places보다 크거나 같아야 한다.

DecimalField.decimal_places
숫자와 함께 저장할 소수 자릿수이다.

예를 들어 999.99소수점 이하 2자리까지의 숫자를 저장하려면 다음을 사용한다.

models.DecimalField(max_digits=5, decimal_places=2)

CharField

제한된 문자열 필드 타입으로 최대 길이를 max_length옵션에 지정해 사용한다.

TextField

CharField와 비슷하지만 긴 문자열을 사용할때 쓰는 필드이다.

BooleanField

True/False필드로 기본위젯은 체크박스이다. 장고 수업중 중고품 거래 사이트에서 판매중, 판매완료로 표시할때 사용했었다.

DateField

파이썬의 datetime.date 인스턴스에 의해 표현되는 날짜다.

DateField.auto_now : 모델이 저장될 때 마다 매번 자동으로 필드를 현재시간이 설정한다. 항상 현재 날짜가 사용된다. 마지막으로 수정한날짜 등을 구현할때 사용한다.

DateField.auto_now_add : 모델이 처음 생성될 때 자동으로 현재시간이 설정된다.기본값을 재정의 할 수 없다. 그러므로 객체가 생성될때 이 필드에 값을 설정하더라고 무시함. 이 필드를 수정하고 싶다면 auto_now_add=True 대신에 다음과 같이 설정한다.

auto_now는 저장될때마다 현재시간 저장.
auto_now_add는 db가 처음 생성될 때 딱 한번 자동으로 현재시간 저장.

DateTimeField

datetime.datetimePython에서 인스턴스 로 표시되는 날짜 및 시간으로 DateField와 동일한 추가 인수를 사용 한다.

EmailField

CharField를 사용하여 값이 유효한 이메일 주소인지 확인하는 EmailValidator이다.

0개의 댓글