django에서 null과 blank의 차이점

송용진·2025년 5월 28일

Python / Django

목록 보기
1/24

두 옵션은 모두 필드의 값을 비워둘 수 있도록 허용한다는 점에서는 비슷하지만,
적용되는 '레벨'이 다름

null=True

이 옵션은 데이터베이스 레벨에 영향을 줌
필드의 값이 데이터베이스 테이블에 NULL 값으로 저장되는 것을 허용할지 여부를 결정

blank=True

이 옵션은 폼(Form) 또는 검증(Validation) 레벨에 영향을 줌
필드가 장고 관리자(admin)나 직접 정의한 폼에서
빈 상태로 저장되는 것을 허용할지 여부를 결정

즉, null=True는 데이터베이스 열에 NULL을 허용하는 설정이고, blank=True는 입력 양식에서 빈 값을 허용하는 설정

참고

CharField()TextField()의 경우 null=True를 설정하더라도
장고는 NULL 대신 빈 문자열('')로 저장하는 예외가 있음

profile
개발자

0개의 댓글