Django, null = true와 blank = true의 차이

pyhoo·2021년 3월 17일
0

Pyhoo's Django 101 

목록 보기
4/4
post-thumbnail

Django ORM cookbook을 정리한 내용입니다.

null, blank의 디폴트 값은 False !

  • null과 blank는 모두 디폴트 값이 false입니다. 즉, null값을 허용하지 않습니다.
  • 그렇기 때문에 null = True와 blank = True는 공백값(null, "")이 저장되는 것을 허용합니다.
  • 이 경우의 DB 해당 column은 null 혹은 ""로 저장됩니다.

class Memo(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField('Date Published')

null과 blank의 차이

  • null = True의 경우, DB column에 해당 값은 null로 저장이 됩니다.
  • blank=True 는 필드가 폼(입력 양식)에서 empty한 상태로 저장되는 것을 허용합니다. DB column에 해당 값은 빈 폼의 형태, 즉 ''로 저장됩니다. (!= null)

단 CharField와 TextField는 예외항목으로 null을 저장하지 않습니다.

위 사진에서 아무 값을 입력하지 않은 채 제출버튼을 누르면, 공백('')값이 그대로 저장됩니다.

0개의 댓글