モデルフォームでは初期設定の記述をdef__init__を使って記述する

 

    def __init__(self, facility_set=None, *args, **kwargs):

        """AccessLogCreateFormの初期処理."""

        super().__init__(*args, **kwargs)

        self.fields['facility'].queryset = facility_set

        self.fields['facility'].empty_label = None

        facility_choice_list = []

        for s_facility in facility_set:

            facility_choice_list.append((s_facility.id, s_facility.name))

        facility_choices = tuple(facility_choice_list)

        self.fields['search_facilities'].choices = facility_choices

 

解説

 self.fields['facility'].empty_label = None

変数.empty_label = Noneで未設定の表示をしないという設定

 

empty_labelとは

ModelChoiceFieldModelMultipleChoiceFieldにおいて使用されるオプションの一つです。

このオプションは、セレクトボックス(ドロップダウンメニュー)の最初の選択肢として表示される「未選択」のラベルをカスタマイズするために使用されます。

デフォルトでは、DjangoはModelChoiceFieldで「---------」というラベルを未選択のオプションとして自動的に追加します。