- 필드타입 종류
Char Field |
제한된 문자열 필드 타입. 최대 길이를 max_length 옵션에 지정해야 한다. 문자열의 특별한 용도에 따라 CharField의 파생클래스로서, 이메일 주소를 체크를 하는 EmailField, IP 주소를 체크를 하는 GenericIPAddressField, 콤마로 정수를 분리한 CommaSeparatedIntegerField, 특정 폴더의 파일 패스를 표현하는 FilePathField, URL을 표현하는 URLField 등이 있다. |
Text Field |
대용량 문자열을 갖는 필드 |
Integer Field |
32 비트 정수형 필드. 정수 사이즈에 따라 BigIntegerField, SmallIntegerField 을 사용할 수도 있다. |
Boolean Field |
true/false 필드. Null 을 허용하기 위해서는 NullBooleanField를 사용한다. |
DateTime Field |
날짜와 시간을 갖는 필드. 날짜만 가질 경우는 DateField, 시간만 가질 경우는 TimeField를 사용한다. |
Decimal Field |
소숫점을 갖는 decimal 필드 |
Binary Field |
바이너리 데이타를 저장하는 필드 |
File Field |
파일 업로드 필드 |
ImageField | FileField의 파생클래스로서 이미지 파일인지 체크한다. |
UUIDField | GUID (UUID)를 저장하는 필드 |
Slug
Field |
URL의 구성요소로 웹사이트의 특정 페이지를 가리키는 사람이 읽기 쉬운 형식의 식별자 일반적으로 이미 얻은 데이터를 사용하여 유효한 URL을 생성하는 방법 예를 들어, Slug는 기사 제목을 사용하여 URL을 생성한다. 수동으로 설정하는 대신 제목 (혹은 다른 데이터)가 주어지면 함수를 통해 슬러그를 생성하는게 좋dma 장점 : 사람이 이해하기 좋다. (/1/ 보다 /blog/ 가 좋다) , 제목과 URL을 동일하게 맞춰 검색엔진 최적화(SEO)에 도움이 됨 ㅊㅊ - > https://itmining.tistory.com/119 |
Django 프레임워크는 테이블 간 혹은 필드 간 관계(Relationship)을 표현하기 위해
ForeignKey, ManyToManyField, OneToOneField 클래스를 또한 제공함
특히 ForeignKey는 모델 클래스간 (혹은 Underlying 테이블 간) Many-To-One (혹은 One-To-Many) 관계를 표현하기 위해 흔히 사용됨
- 필드 옵션
null (Field.null) | null=True 이면, Empty 값을 DB에 NULL로 저장한다. DB에서 Null이 허용된다. 예: models.IntegerField(null=True) |
blank (Field.blank) | blank=False 이면, 필드가 Required 필드이다. blank=True 이면, Optional 필드이다. 예: models.DateTimeField(blank=True) |
primary_key (Field.primary_key) | 해당 필드가 Primary Key임을 표시한다. 예: models.CharField(max_length=10, primary_key=True) |
unique (Field.unique) | 해당 필드가 테이블에서 Unique함을 표시한다. 해당 컬럼에 대해 Unique Index를 생성한다. 예: models.IntegerField(unique=True) |
default (Field.default) | 필드의 디폴트값을 지정한다. 예: models.CharField(max_length=2, default="WA") |
db_column (Field.db_column) | 컬럼명은 디폴트로 필드명을 사용하는데, 만약 다르게 쓸 경우 지정한다. |
'FrameWork > Django' 카테고리의 다른 글
Django (0) | 2022.07.08 |
---|---|
[Django] 로그인 권한 지정 decorators @login_required (0) | 2022.06.29 |
[ Django ] render 와 redirect 의 차이 (0) | 2022.06.29 |
[Django] is_anonymous 와 is_authenticated 의 차이 (0) | 2022.06.29 |
Django+Bootstrap: 파이썬 웹개발 (1) 환경설정하기 (0) | 2022.05.27 |