장고 폼으로 작업하다 보면 Select 필드로 변환되는 필드는 기본으로 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