1

モデルに基づいてフォームを作成しています。ここでは、次のようなブールフィールドがあります。

project_type = models.CharField(max_length=50, choices=JOB_TYPES)

選択肢は次のとおりです。

  JOB_TYPES = (
    ('fulltime', _('Fulltid')),
    ('project', _('Prosjektbasert')),
  )

入力タイプをではなくラジオボタンとして表示するには、次のようにします。

    class AddJob(ModelForm):
        class Meta:
            model = Jobs
    widgets = {
        'project_type': RadioSelect(),
    }

HTMLでは、フォームの出力は次のようになります。

 <label for="id_for_project_type_0">Project type</label> 
 <ul>
 <li><label for="id_for_project_type_0"><input checked="checked" type="radio"      id="id_for_project_type_0" value="" name="project_type" /> ---------</label></li>
 <li><label for="id_for_project_type_1"><input type="radio" id="id_for_project_type_1" value="fulltime" name="project_type" /> Fulltid</label></li>
 <li><label for="id_for_project_type_2"><input type="radio" id="id_for_project_type_2" value="project" name="project_type" /> Prosjektbasert</label></li>
 </ul>

なぜ値0を取得するのですか?モデルで指定した値は2つだけです。そして、どうすればそれを取り除くことができますか?

前もって感謝します :)

4

1 に答える 1

0

のデフォルト値を指定する必要がありますproject_type:

project_type = models.CharField(max_length=50, choices=JOB_TYPES,
                                default=JOB_TYPES[0][0])
于 2012-08-31T10:01:13.803 に答える