Django From 에서 Select 빈 필드 제거 방법

장고 폼으로 작업하다 보면 Select 필드로 변환되는 필드는 기본으로 Empty 필드가 있다. "----------" 이런 문자열이 제일 위에 등장한다. 머 나름 선택하지 않았다는 표시이니깐 괜찮지만 없애고 싶다면 아래 글을 참고하세요.

 

빈 필드가 나타나는 형태는 아래 그림과 같다.

폼 필드에 Empty 문자열 표시

-------- 이런 문자열이 제일 위에 있어 거슬리거나 무조건 하나의 값을 선택된 형태로 되면 좋겠다면 제거해야 한다. 

 

다행이도 이를 제거하는 옵션이 있다.

 

ForeignKey 등 릴레이션 모델이 들어가는 ModelChoiceField 의 경우
self.fields['sub'].empty_label = None

 

empty_label 이라는 것을 None 으로 해 주면 된다.

 

그리고, 일단 기본 default 값을 주게 되면 그 값이 나오게 되니깐 따로 제거하지 않아도 된다.


참고 사이트는 아래와 같다.

https://velog.io/@ggg/ModelForm-field-%EC%97%90%EC%84%9C-empylabel-%EC%97%86%EC%95%A0%EA%B8%B0

 

ModelForm field 에서 empy_label 없애기

모델폼을 렌더링하면 --- 와 같은 빈 선택옵션이 생긴다.이 부분을 지우는 방법 2가지가 있다.Teacher 라는 모델로 예를 들면,모델 필드가 blank=False 일 때 가능https://stackoverflow.com/questions/739260/cus

velog.io