설계 순서
1) 필요한 컬럼들을 정의
2) 각 컬럼별 데이터 타입을 정의
- 키 종류
Primary Key (기본키) : 테이블 내의 데이터를 식별하는 값으로서, Django에서는 id가 디폴트로 지정되어있음
- 직접 지정하는 경우) id = models.AutoField(primary_key=True)
Foreignkey (외래키) : 특정 테이블에서 다른 테이블의 기본키를 참조하는 값
1) Many-to-Many
2) Many-to-One
3) One-to-One
지원하는 Field Types
- 공통인자 : Null=True/False => Nullable 여부
Fiedl Type | Description |
CharField | 작은 문자열 또는 큰 문자열을 위한 스트링 필드 |
TextField | 큰 문자열 필드 |
IntegerField | 정수 필드 |
FloatField | 실수 필드 |
BooleanField | True / False 필드 |
DateTimeField | 날짜와 시간을 가지는 필드 |
FileField | 파일 업로드 필드 |
EmailField | Email 유효성 검사를 지원하는 CharField |
ImageField | Image 파일 유효성 검사를 지원하는 FiledField의 파생클래스 |
DecimalField | 소숫점을 갖는 필드 |
AutoField | 1부터 자동으로 증가하는 필드 (=IntegerField) |
DateField |
파이썬 datetime.date 인스턴스로 표시되는 날짜 필드타입 class DateField(auto_now=False, auto_now_add=False, **options)
auto_now_add : 데이터가 처음 생성되어 저장할 때 auto_now : 데이터가 저장될 때 (update) |
사용 예)
# 댓글 모델 => 유저와 Many-to-One 관계 (또는 One-to-Many)
class Comment(models.Model)
user_name = models.CharField(max_length=30,...)
email = models.CharField(max_length=50,...)
content = models.TextField(max_length=200,...)
'Python > Django' 카테고리의 다른 글
User 모델 확장 (0) | 2020.03.19 |
---|---|
Django 의 MTV 패턴 (0) | 2020.03.19 |