私の目標はget_FOO_display()を使用できるようにすることであり、私が理解している限り、モデルフィールドで選択肢を指定する必要があります。同時に、ModelFormをRadioButtonとして使用してフォームをレンダリングしたいと考えています。
私が抱えている問題は、ドロップダウン選択で使用されるデフォルト値の「------」がRadioButtonオプションの1つとして表示されることです。
models.py
class Medication(models.Model):
YESNO_CHOICES = [(0, 'No'), (1, 'Yes')]
Allergies = models.BigIntegerField(verbose_name='Allergies:', choices=YESNO_CHOICES)
forms.py
ModelFormでRadioButtonウィジェットを指定してみました。
class mfMedication(ModelForm):
class Meta:
model = Medication
widgets = {
'Allergies': RadioSelect(),
}
また、CHOICESでRadioButtonを指定します。
class mfMedication(ModelForm):
class Meta:
model = Medication
widgets = {
'Allergies': RadioSelect(choices=Medication.YESNO_CHOICES),
}
どちらの場合も、3つのラジオボタンが表示されます。
"": -------
0 : No
1 : Yes
「-------」を取得しない唯一の方法は、モデルフィールドからchoices = YESNO_CHOICESを削除することですが、これによりget_FOO_display()が機能しなくなります。
これを機能させるために使用したアプローチをいただければ幸いです。
ありがとう。JD。